08. 06.2018
Dmitriy Vassiyarovning blogi.
Ikkilik kod - qaerda va qanday ishlatiladi?
Bugun men siz, aziz o'quvchilarim bilan uchrashganimdan juda xursandman, chunki o'zimni birinchi darsdayoq sinfni harflar va raqamlar bilan tanishtira boshlagan o'qituvchidek his qilaman. Va biz raqamli texnologiyalar dunyosida yashayotganimiz sababli, men sizga ikkilik kod nima ekanligini aytib beraman, bu ularning asosidir.
Keling, terminologiyadan boshlaylik va ikkilik nimani anglatishini bilib olaylik. Aniqlik uchun, keling, "o'nlik" deb ataladigan odatiy hisobimizga qaytaylik. Ya'ni, biz 10 ta raqamdan foydalanamiz, bu esa turli raqamlar bilan qulay ishlash va tegishli yozuvlarni saqlash imkonini beradi.
Ushbu mantiqdan kelib chiqqan holda, ikkilik tizim faqat ikkita belgidan foydalanishni ta'minlaydi. Bizning holatda, bu faqat "0" (nol) va "1". Va bu erda sizni ogohlantirmoqchimanki, faraziy ravishda ularning o'rnida boshqalar bo'lishi mumkin belgilar, lekin signalning yo'qligi (0, bo'sh) va mavjudligini (1 yoki "tayoq") ko'rsatadigan aynan mana shu qiymatlar ikkilik kodning tuzilishini yanada tushunishga yordam beradi.
Ikkilik kod nima uchun kerak?
Kompyuterlar paydo bo'lishidan oldin, har xil avtomatik tizimlar, uning ishlash printsipi signalni qabul qilishga asoslangan. Sensor ishga tushiriladi, sxema yopiladi va ma'lum bir qurilma yoqiladi. Signal pallasida oqim yo'q - operatsiya yo'q. Aynan elektron qurilmalar zanjirda kuchlanish mavjudligi yoki yo'qligi bilan ifodalangan ma'lumotlarni qayta ishlashda muvaffaqiyatga erishishga imkon berdi.
Ularning keyingi murakkablashishi birinchi protsessorlarning paydo bo'lishiga olib keldi, ular ham o'z vazifalarini bajarib, ma'lum bir tarzda almashinadigan impulslardan iborat signalni qayta ishladilar. Biz hozir dastur tafsilotlarini ko'rib chiqmaymiz, lekin biz uchun quyidagilar muhim: elektron qurilmalar kiruvchi signallarning berilgan ketma-ketligini ajrata olishi mumkin edi. Albatta, shartli birikmani shunday tasvirlash mumkin: "signal bor"; "signal yo'q"; "signal bor"; "Signal bor." Siz hatto yozuvni soddalashtirishingiz mumkin: "bor"; "Yo'q"; "Mavjud"; "Mavjud".
Ammo "1" birligi bilan signal mavjudligini va uning yo'qligini nol "0" bilan belgilash osonroq. Keyin biz oddiy va ixcham ikkilik kodni ishlatishimiz mumkin: 1011.
Albatta, protsessor texnologiyasi ancha oldinga qadam tashladi va endi chiplar nafaqat signallar ketma-ketligini, balki alohida belgilardan iborat maxsus buyruqlar bilan yozilgan butun dasturlarni idrok eta oladi.
Ammo ularni yozib olish uchun signalning mavjudligi yoki yo'qligiga mos keladigan nol va birlardan iborat bir xil ikkilik kod ishlatiladi. U bormi yoki yo'qmi, bu muhim emas. Chip uchun ushbu variantlardan har biri bitta ma'lumot bo'lib, u "bit" deb ataladi (bit - rasmiy o'lchov birligi).
An'anaviy tarzda, belgi bir nechta belgilar ketma-ketligi sifatida kodlanishi mumkin. Ikkita signal (yoki ularning yo'qligi) faqat to'rtta variantni tavsiflashi mumkin: 00; 01;10; 11. Ushbu kodlash usuli ikki bitli deb ataladi. Ammo u ham bo'lishi mumkin:
- To'rt bitli (1011-sonli paragrafdagi misolda bo'lgani kabi) 2^4 = 16 belgi kombinatsiyasini yozishga imkon beradi;
- Sakkiz bitli (masalan: 0101 0011; 0111 0001). Bir vaqtlar u 2^8 = 256 qiymatni qamrab olganligi sababli dasturlash uchun eng katta qiziqish uyg'otdi. Bu barcha o'nlik raqamlarni, lotin alifbosini va maxsus belgilarni tavsiflash imkonini berdi;
- O'n olti bitli (1100 1001 0110 1010) va undan yuqori. Ammo bunday uzunlikdagi yozuvlar allaqachon zamonaviy, murakkabroq vazifalar uchun. Zamonaviy protsessorlar 32 va 64 bitli arxitekturadan foydalanadi;
Rostini aytsam, men yolg'izman rasmiy versiya Yo'q, shunday bo'ldiki, sakkizta belgining kombinatsiyasi "bayt" deb nomlangan saqlangan ma'lumotlarning standart o'lchoviga aylandi. Bu hatto 8 bitli ikkilik kodda yozilgan bitta harfga ham qo'llanilishi mumkin. Shunday qilib, aziz do'stlarim, esda tuting (agar kimdir bilmasa):
8 bit = 1 bayt.
Bu shunday. Garchi 2 yoki 32 bitli qiymat bilan yozilgan belgi nominal ravishda bayt deb atalishi mumkin. Aytgancha, ikkilik kod tufayli biz baytlarda o'lchanadigan fayllar hajmini va ma'lumot va Internetni uzatish tezligini (sekundiga bit) taxmin qilishimiz mumkin.
Ikkilik kodlash amalda
Kompyuterlar uchun ma'lumotlarni yozib olishni standartlashtirish uchun bir nechta kodlash tizimlari ishlab chiqilgan bo'lib, ulardan biri 8 bitli yozishga asoslangan ASCII keng tarqalgan. Undagi qiymatlar maxsus tarzda taqsimlanadi:
- dastlabki 31 ta belgi boshqaruv belgilaridir (00000000 dan 00011111 gacha). Xizmat buyruqlari uchun xizmat qilish, printer yoki ekranga chiqarish, tovush signallari, matnni formatlash;
- quyidagi 32 dan 127 gacha (00100000 – 01111111) lotin alifbosi va yordamchi belgilar va tinish belgilari;
- qolganlari, 255-gacha (10000000 – 11111111) – muqobil, maxsus topshiriqlar va milliy alifbolarni aks ettiruvchi jadvalning bir qismi;
Undagi qiymatlarning dekodlanishi jadvalda ko'rsatilgan.
Agar siz "0" va "1" tartibsiz tartibda joylashgan deb o'ylasangiz, unda siz qattiq adashasiz. Har qanday raqamni misol sifatida ishlatib, men sizga naqsh ko'rsataman va ikkilik kodda yozilgan raqamlarni o'qishni o'rgataman. Ammo buning uchun biz ba'zi konventsiyalarni qabul qilamiz:
- Biz o'ngdan chapga 8 belgidan iborat baytni o'qiymiz;
- Agar oddiy raqamlarda biz birlik, o'nlik, yuzlik raqamlarini ishlatadigan bo'lsak, bu erda (teskari tartibda o'qish) har bir bit uchun "ikki" ning turli darajalari ifodalanadi: 256-124-64-32-16-8- 4-2 -1;
- Endi biz raqamning ikkilik kodini ko'rib chiqamiz, masalan, 00011011. Tegishli pozitsiyada "1" signal mavjud bo'lganda, biz ushbu bitning qiymatlarini olamiz va ularni odatdagi tarzda jamlaymiz. Shunga ko'ra: 0+0+0+32+16+0+2+1 = 51. To'g'ri bu usul kod jadvaliga qarab tekshirishingiz mumkin.
Endi, mening qiziquvchan do'stlarim, siz nafaqat ikkilik kod nima ekanligini, balki u orqali shifrlangan ma'lumotni qanday aylantirishni ham bilasiz.
Zamonaviy texnologiyalar uchun tushunarli til
Albatta, protsessor qurilmalari tomonidan ikkilik kodni o'qish algoritmi ancha murakkab. Lekin siz undan xohlagan narsani yozish uchun foydalanishingiz mumkin:
- Formatlash opsiyalari bilan matnli ma'lumot;
- Raqamlar va ular bilan har qanday operatsiyalar;
- Grafik va video tasvirlar;
- Tovushlar, shu jumladan eshitish doiramizdan tashqarida;
Bundan tashqari, "taqdimot" ning soddaligi tufayli bu mumkin turli yo'llar bilan ikkilik ma'lumotlarning yozuvlari:
Ikkilik kodlashning afzalliklari ma'lumotni istalgan masofaga uzatishning deyarli cheksiz imkoniyatlari bilan to'ldiriladi. Bu kosmik kemalar va sun'iy yo'ldoshlar bilan aloqa qilish usuli.
Demak, bugungi kunda ikkilik sanoq sistemasi ko‘pchiligimiz tushunadigan tildir. elektron qurilmalar. Va eng qizig'i shundaki, hozircha boshqa alternativa ko'zda tutilmagan.
O'ylaymanki, men taqdim etgan ma'lumotlar siz boshlashingiz uchun etarli bo'ladi. Va keyin, agar bunday ehtiyoj paydo bo'lsa, har bir kishi chuqurroq kirib borishi mumkin o'z-o'zini o'rganish bu mavzu.
Men xayrlashaman va qisqa tanaffusdan keyin siz uchun o'z blogimda qiziqarli mavzuda yangi maqola tayyorlayman.
O'zingiz aytsangiz yaxshi bo'ladi;)
Ko'rishguncha.
Ikkilik kod- bu 0 yoki 1 belgilarini birlashtirgan holda ma'lumot taqdimoti. Ba'zan bu ikki raqam shaklida ma'lumotni kodlash tamoyilini tushunish juda qiyin bo'lishi mumkin, ammo biz hamma narsani batafsil tushuntirishga harakat qilamiz.
Aytgancha, bizning veb-saytimizda Onlayn kod kalkulyatori yordamida istalgan matnni o'nlik, o'n oltilik, ikkilik kodga aylantirishingiz mumkin.
Biror narsani birinchi marta ko'rganimizda, biz ko'pincha uning qanday ishlashi haqida mantiqiy savol beramiz. Har qanday yangi ma'lumot biz tomonidan murakkab narsa sifatida qabul qilinadi yoki faqat uzoqdan ko'rish uchun yaratilgan, lekin ko'proq bilishni xohlaydigan odamlar uchun. ikkilik kod , oddiy haqiqat oshkor bo'ldi - ikkilik kodni tushunish biz uchun ko'rinadigan darajada qiyin emas. Masalan, inglizcha T harfi ikkilik tizim quyidagi ko'rinishga ega bo'ladi - 01010100, E - 01000101 va X harfi - 01011000. Shunga asoslanib, ingliz tilidagi METN so'zining ikkilik kod ko'rinishida shunday ko'rinishini tushunamiz: 01010100 01000101 01011000 0101100011000 kompyuter buni aniq tushunadi. bu so'z uchun ramzlarning ifodalanishi, Xo'sh, biz uni alifbo harflari taqdimotida ko'rishni afzal ko'ramiz.
Hozirgi kungacha ikkilik kod dasturlashda faol foydalaniladi, chunki u tufayli kompyuterlar ishlaydi. Ammo dasturlash cheksiz nol va birlar to'plamiga qisqartirilmaydi. Bu juda ko'p mehnat talab qiladigan jarayon bo'lganligi sababli, kompyuter va odamlar o'rtasidagi tushunishni soddalashtirish choralari ko'rildi. Muammoni hal qilish dasturlash tillarini (BASIC, C++ va boshqalar) yaratish edi. Natijada, dasturchi o'zi tushunadigan tilda dastur yozadi, so'ngra kompilyator dasturi kompyuterni ishga tushirgan holda hamma narsani mashina kodiga aylantiradi.
Natural sonni o‘nlik sanoq sistemasidan ikkilik sistemaga o‘tkazish.
Raqamlarni o'nlik sanoq tizimidan ikkilik sanoq tizimiga o'tkazish uchun ular quyidagi harakatlar ketma-ketligidan iborat "almashtirish algoritmi" dan foydalanadilar:
1. Tanlang to'g'ri raqam va uni 2 ga bo'ling. Agar bo'linish natijasi qoldiq bilan olingan bo'lsa, u holda ikkilik kod raqami 1 bo'ladi, agar qoldiq bo'lmasa - 0.
2. Qoldiqni tashlab, agar bitta bo'lsa, birinchi bo'linish natijasida olingan sonni yana 2 ga bo'ling. Qolganlarning mavjudligiga qarab ikkilik tizimning sonini o'rnating.
3. Biz ikkilik tizimning sonini qoldiqdan hisoblab, bo'linib bo'lmaydigan songa - 0 ga yetguncha bo'linishni davom ettiramiz.
4. Bu vaqtda ikkilik kod tayyor hisoblanadi.
Masalan, 7 raqamini ikkilik raqamga aylantiramiz:
1,7:2 = 3,5. Qoldiq bo'lgani uchun biz ikkilik kodning birinchi raqami sifatida 1 ni yozamiz.
2. 3: 2 = 1,5. Qolganiga qarab 1 dan 0 gacha bo'lgan kod raqamini tanlash bilan protsedurani takrorlaymiz.
3. 1:2 = 0,5. Xuddi shu printsipdan foydalanib, yana 1 ni tanlaymiz.
4. Natijada, biz o'nlik sanoq sistemasidan ikkilik sanoq sistemasiga aylantirilganda, kod 111 ni olamiz.
Shu tarzda siz cheksiz sonli raqamlarni tarjima qilishingiz mumkin. Endi teskarisini qilishga harakat qilaylik - sonni ikkilikdan o'nli tizimga aylantiramiz.
Ikkilik sistema sonini o‘nlik songa o‘tkazish.
Buning uchun biz ikkilik raqamimizni 111 dan boshlab, oxiridan boshlab raqamlashimiz kerak. 111 uchun bu 1^2 1^1 1^0. Shunga asoslanib, raqam uchun raqam uning darajasi bo'lib xizmat qiladi. Keyinchalik, biz quyidagi formula bo'yicha amallarni bajaramiz: (x * 2^y) + (x * 2^y) + (x * 2^y), bu erda x - ikkilik kodning tartib raqami va y - quvvat. bu raqamdan. Biz ikkilik raqamimizni ushbu formula ostida almashtiramiz va natijani hisoblaymiz. Biz quyidagilarni olamiz: (1 * 2^2) + (1 * 2^1) + (1 * 2^0) = 4 + 2 + 1 = 7.
Ikkilik sanoq sistemasining qisqacha tarixi.
Umuman olganda, bu birinchi marta qabul qilinadi ikkilik tizim tizimni kompleksda foydali deb hisoblagan Gotfrid Vilgelm Leybnits tomonidan taklif qilingan matematik hisoblar va fan. Ammo ba'zi ma'lumotlarga ko'ra, uning ikkilik sanoq tizimi bo'yicha taklifidan oldin, Xitoyda devor yozuvi paydo bo'lgan, u tomonidan shifrlangan. ikkilik kod yordamida. Yozuvda uzun va qisqa tayoqlar ko'rsatilgan. Agar uzun tayoq 1, qisqa tayoq esa 0 deb faraz qilsak, Xitoyda ikkilik kod g'oyasi rasmiy kashf etilishidan ancha oldin mavjud bo'lganligi ehtimoli bor. Kodni dekodlash u erda faqat oddiy natural sonni aniqladi, ammo bu shundayligicha qolmoqda.
Barcha belgilar va harflar sakkizta ikkilik bit yordamida kodlanishi mumkin. Eng keng tarqalgan ikkilik belgilar jadvallari ASCII va ANSI bo'lib, ular mikroprotsessorlarda matn yozish uchun ishlatilishi mumkin. ASCII va ANSI jadvallarida dastlabki 128 ta belgi bir xil. Jadvalning ushbu qismida raqamlar, tinish belgilari, katta va kichik lotin harflari va boshqaruv belgilari uchun kodlar mavjud. Belgilar jadvallarining milliy kengaytmalari va psevdografik belgilar ushbu jadvallarning oxirgi 128 ta kodida mavjud, shuning uchun DOS va WINDOWS operatsion tizimlarida ruscha matnlar mos kelmaydi.
Kompyuterlar va mikroprotsessorlar bilan birinchi marta tanishganingizda, savol tug'ilishi mumkin - "matnni ikkilik kodga qanday aylantirish mumkin?" Biroq, bu transformatsiya eng oddiy harakatdir! Buning uchun har qanday matn muharriridan foydalanish kerak. Shu jumladan mos keladi eng oddiy dastur bloknot kiritilgan operatsion tizim Windows. Shunga o'xshash muharrirlar SI, Paskal yoki Java kabi tillar uchun barcha dasturlash muhitlarida mavjud. Shuni ta'kidlash kerakki, eng keng tarqalgan matn So'z muharriri Bu oddiy matnni ikkilik konvertatsiya qilish uchun mos emas. Ushbu test muharriri juda katta miqdorni taqdim etadi Qo'shimcha ma'lumot, masalan, harflarning rangi, qiyaligi, tagiga chizish, ma'lum bir iboraning qaysi tilda yozilishi, shrift.
Shuni ta'kidlash kerakki, aslida matn ma'lumotlari kodlangan nollar va birlar birikmasi ikkilik kod emas, chunki ushbu koddagi bitlar qonunlarga bo'ysunmaydi. Biroq, Internetda "harflarning ikkilik ko'rinishi" qidiruv iborasi eng keng tarqalgan. 1-jadvalda ikkilik kodlarning lotin alifbosi harflariga mos kelishi ko'rsatilgan. Qisqartirish uchun ushbu jadvaldagi nollar va birlar ketma-ketligi o'nlik va o'n oltilik kodlarda keltirilgan.
1-jadval Lotin harflarini ikkilik kodda ifodalash jadvali (ASCII)
O'nlik kod | Hex kod | Displey belgisi | Ma'nosi |
---|---|---|---|
0 | 00 | NUL | |
1 | 01 | ☺ | (nazorat so'zini ko'rsatish) |
2 | 02 | ☻ | (Birinchi so'z uzatiladi) |
3 | 03 | ETX ( Oxirgi so'z transferlar) | |
4 | 04 | ♦ | EOT (uzatilishning oxiri) |
5 | 05 | ♣ | ENQ (boshlash) |
6 | 06 | ♠ | ACK (tasdiqlash) |
7 | 07 | BEL | |
8 | 08 | ◘ | B.S. |
9 | 09 | ○ | HT (gorizontal varaq) |
10 | 0A | ◙ | LF (satr tasmasi) |
11 | 0B | ♂ | VT (vertikal yorliq) |
12 | 0C | ♀ | FF (keyingi sahifa) |
13 | 0D | ♪ | CR (vagonni qaytarish) |
14 | 0E | ♫ | SO (ikki kenglik) |
15 | 0F | ☼ | SI (qattiq muhr) |
16 | 10 | DLE | |
17 | 11 | ◄ | DC1 |
18 | 12 | ↕ | DC2 (ixcham chop etishni bekor qilish) |
19 | 13 | ‼ | DC3 (tayyor) |
20 | 14 | ¶ | DC4 (ikki kenglikni bekor qilish) |
21 | 15 | § | NAC (tasdiqlanmaslik) |
22 | 16 | ▬ | SYN |
23 | 17 | ↨ | ETB |
24 | 18 | JON | |
25 | 19 | ↓ | E.M. |
26 | 1A | → | SUB |
27 | 1B | ← | ESC (boshqaruv ketma-ketligining boshlanishi) |
28 | 1C | ∟ | FS |
29 | 1D | ↔ | G.S. |
30 | 1E | ▲ | R.S. |
31 | 1F | ▼ | AQSh |
32 | 20 | Kosmos | |
33 | 21 | ! | Undov belgisi |
34 | 22 | « | Burchakli qavs |
35 | 23 | # | Raqam belgisi |
36 | 24 | $ | Valyuta belgisi (dollar) |
37 | 25 | % | Foiz belgisi |
38 | 26 | & | Ampersand |
39 | 27 | " | Apostrof |
40 | 28 | ( | Ochilish qavs |
41 | 29 | ) | Qavsni yopish |
42 | 2A | * | Yulduz |
43 | 2B | + | Plyus belgisi |
44 | 2C | , | Vergul |
45 | 2D | - | Minus belgisi |
46 | 2E | . | Nuqta |
47 | 2F | / | Fraksiyonel bar |
48 | 30 | 0 | Raqam nol |
49 | 31 | 1 | Birinchi raqam |
50 | 32 | 2 | Ikkinchi raqam |
51 | 33 | 3 | Uchinchi raqam |
52 | 34 | 4 | To'rtinchi raqam |
53 | 35 | 5 | Beshinchi raqam |
54 | 36 | 6 | Oltinchi raqam |
55 | 37 | 7 | Yetti raqam |
56 | 38 | 8 | Sakkizinchi raqam |
57 | 39 | 9 | To'qqiz raqami |
58 | 3A | : | Yo'g'on ichak |
59 | 3B | ; | Nuqtali vergul |
60 | 3C | < | Belgidan kamroq |
61 | 3D | = | Teng belgisi |
62 | 3E | > | Ko'proq belgi |
63 | 3F | ? | Savol belgisi |
64 | 40 | @ | Tijorat qavati |
65 | 41 | A | Lotin bosh harfi A |
66 | 42 | B | Lotin bosh harfi B |
67 | 43 | C | Katta lotin harfi C |
68 | 44 | D | Lotin bosh harfi D |
69 | 45 | E | Lotin bosh harfi E |
70 | 46 | F | Katta lotin harfi F |
71 | 47 | G | Katta lotin harfi G |
72 | 48 | H | Lotin bosh harfi H |
73 | 49 | I | Lotin bosh harfi I |
74 | 4A | J | Lotin bosh harfi J |
75 | 4B | K | Lotin bosh harfi K |
76 | 4C | L | Lotin bosh harfi L |
77 | 4D | M | Katta lotin harfi |
78 | 4E | N | Lotin bosh harfi N |
79 | 4F | O | Lotin bosh harfi O |
80 | 50 | P | Katta lotin harfi P |
81 | 51 | Q | Katta lotin harfi |
82 | 52 | R | Katta lotin harfi R |
83 | 53 | S | Lotin bosh harfi S |
84 | 54 | T | Katta lotin harfi T |
85 | 55 | U | Lotin bosh harfi U |
86 | 56 | V | Lotin bosh harfi V |
87 | 57 | V | Katta lotin harfi W |
88 | 58 | X | Bosh lotin harfi X |
89 | 59 | Y | Katta lotin harfi Y |
90 | 5A | Z | Katta lotin harfi Z |
91 | 5B | [ | Ochilish kvadrat qavs |
92 | 5C | \ | Teskari chiziq |
93 | 5D | ] | Kvadrat qavsni yopish |
94 | 5E | ^ | "Qopqoq" |
95 | 5 | _ | Pastki chiziq belgisi |
96 | 60 | ` | Apostrof |
97 | 61 | a | Lotin kichik harfi a |
98 | 62 | b | Lotin kichik harfi b |
99 | 63 | c | Lotin kichik harfi c |
100 | 64 | d | Lotin kichik harfi d |
101 | 65 | e | Lotin kichik harfi e |
102 | 66 | f | Lotin kichik f harfi |
103 | 67 | g | Lotin kichik g harfi |
104 | 68 | h | Lotin kichik harfi h |
105 | 69 | i | Lotin kichik harfi i |
106 | 6A | j | Lotin kichik j harfi |
107 | 6B | k | Lotin kichik k harfi |
108 | 6C | l | Lotin kichik harfi l |
109 | 6D | m | Lotin kichik harfi m |
110 | 6E | n | Lotin kichik harfi n |
111 | 6F | o | Lotin kichik harfi o |
112 | 70 | p | Lotin kichik harfi p |
113 | 71 | q | Lotin kichik q harfi |
114 | 72 | r | Lotin kichik harfi r |
115 | 73 | s | Lotin kichik harfi s |
116 | 74 | t | Lotin kichik harfi t |
117 | 75 | u | Lotin kichik harfi u |
118 | 76 | v | Lotin kichik harfi v |
119 | 77 | w | Lotin kichik harfi w |
120 | 78 | x | Lotin kichik harfi x |
121 | 79 | y | Lotin kichik y harfi |
122 | 7A | z | Lotin kichik harfi z |
123 | 7B | { | Ochilish braketi |
124 | 7C | | | Vertikal bar |
125 | 7D | } | Yopuvchi qavs |
126 | 7E | ~ | Tilde |
127 | 7F | ⌂ |
ASCII belgilar jadvalining klassik versiyasida ruscha harflar mavjud emas va u 7 bitdan iborat. Biroq, keyinchalik bu jadval 8 bitgacha kengaytirildi va ikkilik koddagi rus harflari va yuqori 128 qatorda psevdografik belgilar paydo bo'ldi. Umuman olganda, ikkinchi qismda milliy alifbolar mavjud turli mamlakatlar va ruscha harflar mumkin bo'lgan to'plamlardan faqat bittasi (855), frantsuz (863), nemis (1141) yoki yunon (737) jadvali bo'lishi mumkin. 2-jadvalda rus harflarini ikkilik kodda ko'rsatishga misol keltirilgan.
2-jadval. Ikkilik kodda rus harflarini ko'rsatish jadvali (ASCII)
O'nlik kod | Hex kod | Displey belgisi | Ma'nosi |
---|---|---|---|
128 | 80 | A | Bosh rus harfi A |
129 | 81 | B | Katta rus harfi B |
130 | 82 | IN | Katta rus harfi B |
131 | 83 | G | Katta rus harfi G |
132 | 84 | D | Katta rus harfi D |
133 | 85 | E | Bosh rus harfi E |
134 | 86 | VA | Bosh rus harfi Zh |
135 | 87 | Z | Katta rus harfi Z |
136 | 88 | VA | Bosh rus harfi I |
137 | 89 | Y | Katta rus harfi Y |
138 | 8A | TO | Katta rus harfi K |
139 | 8B | L | Katta rus harfi L |
140 | 8C | M | Bosh rus harfi M |
141 | 8D | N | Bosh rus harfi N |
142 | 8E | HAQIDA | Katta rus harfi O |
143 | 8F | P | Katta rus harfi P |
144 | 90 | R | Katta rus harfi R |
145 | 91 | BILAN | Bosh rus harfi S |
146 | 92 | T | Katta rus harfi T |
147 | 93 | U | Bosh rus harfi U |
148 | 94 | F | Katta rus harfi F |
149 | 95 | X | Katta rus harfi X |
150 | 96 | C | Katta rus harfi T |
151 | 97 | H | Bosh rus harfi CH |
152 | 98 | Sh | Bosh rus harfi Sh |
153 | 99 | SCH | Bosh rus harfi Sh |
154 | 9A | Kommersant | Bosh ruscha ' harfi |
155 | 9B | Y | Katta rus harfi Y |
156 | 9C | b | Bosh rus harfi b |
157 | 9D | E | Katta rus harfi E |
158 | 9E | Yu | Bosh rus harfi Yu |
159 | 9F | I | Bosh rus harfi I |
160 | A0 | A | Kichik rus harfi a |
161 | A1 | b | Kichik ruscha harf b |
162 | A2 | V | Ruscha kichik harf v |
163 | A3 | G | Kichik rus harfi g |
164 | A4 | d | Kichik rus harfi d |
165 | A5 | e | Kichik ruscha harf e |
166 | A6 | va | Kichik rus harfi z |
167 | A7 | h | Kichik rus harfi z |
168 | A8 | Va | Kichik rus harfi va |
169 | A9 | th | Kichik ruscha harf th |
170 | A.A. | Kimga | Ruscha kichik harf k |
171 | AB | l | Kichik ruscha harf l |
172 | A.C. | m | Kichik rus harfi m |
173 | AD | n | Kichik ruscha harf n |
174 | A.E. | O | Ruscha kichik harf o |
175 | A.F. | n | Kichik ruscha harf p |
176 | B0 | ░ | |
177 | B1 | ▒ | |
178 | B2 | ▓ | |
179 | B3 | │ | Pseudografik belgi |
180 | B4 | ┤ | Pseudografik belgi |
181 | B5 | ╡ | Pseudografik belgi |
182 | B6 | ╢ | Pseudografik belgi |
183 | B7 | ╖ | Pseudografik belgi |
184 | B8 | ╕ | Pseudografik belgi |
185 | B9 | ╣ | Pseudografik belgi |
186 | B.A. | ║ | Pseudografik belgi |
187 | BB | ╗ | Pseudografik belgi |
188 | Miloddan avvalgi | ╝ | Pseudografik belgi |
189 | BD | ╜ | Pseudografik belgi |
190 | BO'LING | ╛ | Pseudografik belgi |
191 | B.F. | ┐ | Pseudografik belgi |
192 | C0 | └ | Pseudografik belgi |
193 | C1 | ┴ | Pseudografik belgi |
194 | C2 | ┬ | Pseudografik belgi |
195 | C3 | ├ | Pseudografik belgi |
196 | C4 | ─ | Pseudografik belgi |
197 | C5 | ┼ | Pseudografik belgi |
198 | C6 | ╞ | Pseudografik belgi |
199 | C7 | ╟ | Pseudografik belgi |
200 | C8 | ╚ | Pseudografik belgi |
201 | C9 | ╔ | Pseudografik belgi |
202 | C.A. | ╩ | Pseudografik belgi |
203 | C.B. | ╦ | Pseudografik belgi |
204 | CC | ╠ | Pseudografik belgi |
205 | CD | ═ | Pseudografik belgi |
206 | C.E. | ╬ | Pseudografik belgi |
207 | CF | ╧ | Pseudografik belgi |
208 | D0 | ╨ | Pseudografik belgi |
209 | D1 | ╤ | Pseudografik belgi |
210 | D2 | ╥ | Pseudografik belgi |
211 | D3 | ╙ | Pseudografik belgi |
212 | D4 | ╘ | Pseudografik belgi |
213 | D5 | ╒ | Pseudografik belgi |
214 | D6 | ╓ | Pseudografik belgi |
215 | D7 | ╫ | Pseudografik belgi |
216 | D8 | ╪ | Pseudografik belgi |
217 | D9 | ┘ | Pseudografik belgi |
218 | D.A. | ┌ | Pseudografik belgi |
219 | D.B. | █ | |
220 | DC | ▄ | |
221 | DD | ▌ | |
222 | DE | ▐ | |
223 | DF | ▀ | |
224 | E0 | r | Kichik rus harfi r |
225 | E1 | Bilan | Ruscha kichik harf s |
226 | E2 | T | Kichik rus harfi t |
227 | E3 | da | Ruscha kichik harf u |
228 | E4 | f | Kichik rus harfi f |
229 | E5 | X | Ruscha kichik x harfi |
230 | E6 | ts | Kichik rus harfi c |
231 | E7 | h | Kichik rus harfi h |
232 | E8 | w | Kichik ruscha harf sh |
233 | E9 | sch | Ruscha kichik sh harfi |
234 | E.A. | ' | Kichik ruscha ' harfi |
235 | E.B. | s | Kichik ruscha y harfi |
236 | E.C. | b | Kichik ruscha harf l |
237 | ED | uh | Kichik ruscha harf e |
238 | E.E. | yu | Kichik rus harfi yu |
239 | EF | I | Kichik ruscha harf i |
240 | F0 | Yo | Katta rus harfi Yo |
241 | F1 | e | Kichik ruscha harf yo |
242 | F2 | Є | |
243 | F3 | є | |
244 | F4 | Ї | |
245 | F5 | Ї | |
246 | F6 | Ў | |
247 | F7 | ў | |
248 | F8 | ° | Diplom belgisi |
249 | F9 | ∙ | Ko'paytirish belgisi (nuqta) |
250 | F.A. | · | |
251 | FB | √ | Radikal (ildiz olish) |
252 | F.C. | № | Raqam belgisi |
253 | FD | ¤ | Valyuta belgisi (rubl) |
254 | F.E. | ■ | |
255 | FF |
Matnlarni yozishda, to'g'ridan-to'g'ri harflarni ko'rsatadigan ikkilik kodlarga qo'shimcha ravishda, o'tishni ko'rsatadigan kodlar ishlatiladi. yangi qator va kursorni (karetaning qaytishi) satrning nol holatiga qaytarish. Bu belgilar odatda birgalikda ishlatiladi. Ularning ikkilik kodlari o'nlik sonlarga mos keladi - 10 (0A) va 13 (0D). Misol sifatida, quyida ushbu sahifa matnining bir qismi (xotira dumpi). Uning birinchi bandi ushbu bo'limda yozilgan. Xotira dumpidagi ma'lumotlarni ko'rsatish uchun quyidagi format qo'llaniladi:
- birinchi ustun qatorning birinchi baytining ikkilik manzilini o'z ichiga oladi
- Keyingi o'n oltita ustun matn faylidagi baytlarni o'z ichiga oladi. Bayt sonini qulayroq aniqlash uchun sakkizinchi ustundan keyin vertikal chiziq chiziladi. Qisqartirish uchun baytlar o'n oltilik kodda ifodalanadi.
- oxirgi ustunda xuddi shu baytlar ko'rsatiladigan alifbo belgilar sifatida ko'rsatilgan
Yuqoridagi misolda siz matnning birinchi qatori 80 baytni egallashini ko'rishingiz mumkin. Birinchi bayt 82 "B" harfiga mos keladi. Ikkinchi bayt E1 "c" harfiga to'g'ri keladi. Uchinchi bayt A5 "e" harfiga mos keladi. Keyingi 20 baytda so'zlar orasidagi bo'sh joy (bo'shliq) " " ko'rsatiladi. 81 va 82 baytlarda karetaning qaytishi va 0D 0A satr uzatish belgilari mavjud. Biz bu belgilarni 00000050 ikkilik manzilida topamiz: Asl matnning keyingi qatori 16 ga karrali emas (uning uzunligi 76 harf), shuning uchun uning oxirini topish uchun avvalo 000000E0 qatorini topishimiz kerak: va hisoblash undan to'qqiz ustun. U erda yana karetaning qaytishi va 0D 0A satr uzatish baytlari yoziladi. Matnning qolgan qismi aynan shu tarzda tahlil qilinadi.
Sana oxirgi yangilash fayl 12.04.2018
Adabiyot:
"Matnlarni ikkilik kodda yozish" maqolasi bilan birga o'qing:
Ikkilik sonlarni kompyuter yoki mikrokontroller xotirasida aks ettirish
http://site/proc/IntCod.php
Ba'zan protsessor xotirasida raqamlarni o'nli shaklda saqlash qulay
http://site/proc/DecCod.php
Kompyuterlar va mikrokontrollerlar uchun standart suzuvchi nuqtali raqamlar formatlari
http://site/proc/float/
Hozirgi vaqtda ham pozitsion, ham nopozitsion sanoq tizimlari texnikada ham, kundalik hayotda ham keng qo‘llaniladi.
.php
Kompyuter jarayonlari katta raqam ma'lumot. Audio fayllar, rasmlar, matnlar - bularning barchasi ijro etilishi yoki ekranda ko'rsatilishi kerak. Nima uchun ikkilik kodlash universal usul har qanday texnik jihozlarning dasturiy ma'lumotlari?
Kodlash va shifrlash o'rtasidagi farq nima?
Ko'pincha odamlar "kodlash" va "shifrlash" tushunchalarini tenglashtiradilar, aslida ular turli xil ma'nolarga ega. Shunday qilib, shifrlash ma'lumotni yashirish maqsadida uni o'zgartirish jarayonidir. Matnni o'zgartirgan shaxs yoki maxsus o'qitilgan odamlar ko'pincha uni hal qilishlari mumkin. Kodlash axborotni qayta ishlash va u bilan ishlashni soddalashtirish uchun ishlatiladi. Odatda hamma uchun tanish bo'lgan umumiy kodlash jadvali ishlatiladi. U kompyuterga o'rnatilgan.
Ikkilik kodlash printsipi
Ikkilik kodlash ishlatilgan ma'lumotlarni qayta ishlash uchun faqat ikkita belgilar - 0 va 1 - foydalanishga asoslangan turli qurilmalar. Bu belgilar ikkilik raqamlar, ingliz tilida - binary digit yoki bit deb nomlangan. Har bir ikkilik kod belgisi kompyuter xotirasining 1 bitini egallaydi. Nima uchun ikkilik kodlash axborotni qayta ishlashning universal usuli hisoblanadi? Gap shundaki, kompyuterda kamroq belgilarni qayta ishlash osonroq. Shaxsiy kompyuterning unumdorligi bevosita bunga bog'liq: qurilma qanchalik kam funktsional vazifalarni bajarishi kerak bo'lsa, ish tezligi va sifati shunchalik yuqori bo'ladi.
Ikkilik kodlash printsipi nafaqat dasturlashda mavjud. Nog'ora va jarangdor baraban urishlari bilan Polineziya aholisi bir-birlariga ma'lumot uzatdilar. Xuddi shunday printsip uzoq va qisqa tovushlar xabarni etkazish uchun ishlatilganda qo'llaniladi. "Telegraf alifbosi" bugungi kunda ham qo'llaniladi.
Ikkilik kodlash qayerda qo'llaniladi?
Kompyuterlarda axborotni ikkilik kodlash hamma joyda qo'llaniladi. Har bir fayl, xoh u musiqa, xoh matn bo‘lsin, dasturlashtirilgan bo‘lishi kerakki, uni qayta ishlash va keyinroq o‘qish oson bo‘lishi mumkin. Ikkilik kodlash tizimi belgilar va raqamlar, audio fayllar va grafikalar bilan ishlash uchun foydalidir.
Raqamlarni ikkilik kodlash
Endi kompyuterlarda raqamlar oddiy odam uchun tushunarsiz bo'lgan kodlangan shaklda taqdim etiladi. Arab raqamlarini biz tasavvur qilgan tarzda ishlatish texnologiya uchun mantiqiy emas. Buning sababi, har bir raqamga o'zining noyob belgisini belgilash zarurati, ba'zan buni amalga oshirish mumkin emas.
Ikki sanoq sistemasi mavjud: pozitsion va nopozitsion. Pozitsiyali bo'lmagan tizim lotin harflaridan foydalanishga asoslangan va bizga yunon raqamlari ko'rinishida tanish. Ushbu yozish usulini tushunish juda qiyin, shuning uchun undan voz kechishdi.
Pozitsion sanoq sistemasi hozirgi kunda ham qo‘llaniladi. Bunga ma'lumotni ikkilik, o'nlik, sakkizlik va hatto o'n oltilik kodlash kiradi.
Biz kundalik hayotda kasrli kodlash tizimidan foydalanamiz. Bular bizga tanish va har bir insonga tushunarli. Raqamlarni ikkilik kodlash faqat nol va bittadan foydalanish bilan ajralib turadi.
Butun sonlarni 2 ga bo‘lish yo‘li bilan ikkilik kodlash tizimiga o‘tkaziladi. Olingan ko‘rsatkichlar ham natija 0 yoki 1 bo‘lguncha sekin-asta 2 ga bo‘linadi. Masalan, ikkilik sistemada 123 10 sonini 1111011 2 ko‘rinishida ifodalash mumkin. Va 20 10 raqami 10100 2 ga o'xshaydi.
10 va 2 indekslari mos ravishda o'nlik va ikkilik sonlarni kodlash tizimlarini bildiradi. Ikkilik belgi ifodalangan qiymatlar bilan ishlashni osonlashtirish uchun ishlatiladi turli tizimlar Hisoblash.
O'nlik dasturlash usullari suzuvchi nuqtaga asoslangan. Qiymatni o'nlikdan ikkilik kodlash tizimiga to'g'ri aylantirish uchun N = M x qp formulasidan foydalaning. M - mantis (tartibsiz sonning ifodasi), p - N qiymatning tartibi va q - kodlash tizimining asosi (bizning holatda, 2).
Hamma raqamlar ijobiy emas. Ijobiy va manfiy sonlarni farqlash uchun kompyuter belgini kodlash uchun 1 bit joy qoldiradi. Bu yerda nol ortiqcha belgisini, bittasi esa minus belgisini bildiradi.
Ushbu sanoq tizimidan foydalanish kompyuterning raqamlar bilan ishlashini osonlashtiradi. Shuning uchun ikkilik kodlash hisoblash jarayonlarida universaldir.
Matnli axborotni ikkilik kodlash
Alifboning har bir belgisi o'ziga xos nol va birliklar to'plami bilan kodlangan. Matn turli xil belgilardan iborat: harflar (katta va kichik harflar), arifmetik belgilar va boshqa turli xil ma'nolar. Kodlash matnli ma'lumotlar 00000000 dan 11111111 gacha bo'lgan 8 ta ketma-ket ikkilik qiymatlardan foydalanishni talab qiladi. Shu tarzda 256 xil belgilarni aylantirish mumkin.
Matnni kodlashda chalkashmaslik uchun har bir belgi uchun maxsus qiymat jadvallari qo'llaniladi. Ularda lotin alifbosi, arifmetik belgilar va maxsus maqsadli belgilar (masalan, €, ¥ va boshqalar) mavjud. 128-255 oralig'idagi belgilar mamlakat milliy alifbosini kodlaydi.
1 ta belgini kodlash uchun 8 bit xotira talab qilinadi. Hisob-kitoblarni soddalashtirish uchun 8 bit 1 baytga teng, shuning uchun umumiy joy Diskdagi matn ma'lumotlari baytlarda o'lchanadi.
Ko'pchilik shaxsiy kompyuterlar standart jadval bilan jihozlangan (Axborot almashinuvi uchun Amerika standart kodeksi). Boshqa jadvallar ham qo'llaniladi, ularda matnli ma'lumotlarni kodlash tizimi boshqacha. Misol uchun, birinchi ma'lum bo'lgan belgilar kodlash KOI-8 (8-bitli ma'lumot almashish kodi) deb ataladi va u UNIX OS bilan ishlaydigan kompyuterlarda ishlaydi. Operatsiya xonasi uchun yaratilgan CP1251 kodlar jadvali ham keng tarqalgan Windows tizimlari.
Tovushlarni ikkilik kodlash
Ikkilik kodlash axborotni dasturlashning universal usuli ekanligining yana bir sababi audio fayllar bilan ishlashda qulaylikdir. Har qanday musiqa turli amplitudali va tebranish chastotali tovush to'lqinlaridan iborat. Ovoz balandligi va uning balandligi ushbu parametrlarga bog'liq.
Ovoz to'lqinini dasturlash uchun kompyuter uni bir necha qismlarga yoki "namunalarga" ajratadi. Bunday namunalar soni ko'p bo'lishi mumkin, shuning uchun 65536 ta nol va birlikning turli kombinatsiyasi mavjud. Mos ravishda, zamonaviy kompyuterlar 16-bit bilan jihozlangan ovoz kartalari, bu bitta audio to'lqin namunasini kodlash uchun 16 ikkilik raqamdan foydalanishni anglatadi.
Audio faylni ijro etish uchun kompyuter ikkilik kodning dasturlashtirilgan ketma-ketligini qayta ishlaydi va ularni bitta uzluksiz to'lqinga birlashtiradi.
Grafik kodlash
Grafik ma'lumotlar chizmalar, diagrammalar, rasmlar yoki PowerPoint slaydlari ko'rinishida taqdim etilishi mumkin. Har qanday rasm kichik nuqtalardan iborat - rangli bo'lishi mumkin bo'lgan piksellar turli rang. Har bir pikselning rangi kodlangan va saqlanadi va oxirida biz to'liq tasvirni olamiz.
Agar rasm oq-qora bo'lsa, har bir piksel uchun kod bitta yoki nolga teng bo'lishi mumkin. Agar 4 ta rang ishlatilsa, u holda ularning har biri uchun kod ikkita raqamdan iborat: 00, 01, 10 yoki 11. Ushbu tamoyilga asoslanib, har qanday tasvirni qayta ishlash sifati ajralib turadi. Yorqinlikni oshirish yoki kamaytirish ham ishlatiladigan ranglar soniga ta'sir qiladi. Eng yaxshi holatda, kompyuter taxminan 16 777 216 ta soyani ajrata oladi.
Xulosa
Turli xil ma'lumotlar mavjud, ular orasida ikkilik kodlash eng samarali hisoblanadi. Faqat ikkita belgi - 1 va 0 - kompyuter ko'pgina fayllarni osongina o'qiy oladi. Shu bilan birga, ishlov berish tezligi, masalan, o'nlik dasturlash tizimi ishlatilganidan ancha yuqori. Ushbu usulning soddaligi uni har qanday texnika uchun ajralmas qiladi. Shuning uchun ikkilik kodlash hamkasblari orasida universaldir.
Bitta raqamli signal juda informatsion emas, chunki u faqat ikkita qiymatni olishi mumkin: nol va bitta. Shuning uchun, katta hajmdagi ma'lumotlarni uzatish, qayta ishlash yoki saqlash zarur bo'lgan hollarda, odatda bir nechta parallel ishlatiladi. raqamli signallar. Bundan tashqari, bu signallarning barchasi bir vaqtning o'zida ko'rib chiqilishi kerak, ularning har biri alohida ma'noga ega emas; Bunday hollarda biz ikkilik kodlar, ya'ni raqamli (mantiqiy, ikkilik) signallar orqali hosil qilingan kodlar haqida gapiramiz. Kodga kiritilgan mantiqiy signallarning har biri bit deb ataladi. Kodga qancha bit kiritilgan bo'lsa, ushbu kod shunchalik ko'p qiymatlarni olishi mumkin.
Bizga tanish bo'lgan raqamlarning o'nli kodlashidan farqli o'laroq, ya'ni o'nlik asosli kod ikkilik kodlash bilan kodning asosini ikki raqam tashkil qiladi (2.9-rasm). Ya'ni, ikkilik kodning har bir kod raqami (har bir raqam) o'nta qiymatni qabul qilishi mumkin (o'nlik koddagi kabi: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9), faqat ikkita - 0 va 1. Pozitsion qayd qilish tizimi bir xil bo'lib qoladi, ya'ni eng muhim raqam o'ngda, eng muhimi esa chapda yoziladi. Ammo agar o'nlik tizimda har bir keyingi raqamning og'irligi avvalgisining og'irligidan o'n baravar ko'p bo'lsa, ikkilik tizimda (ikkilik kodlash bilan) u ikki baravar katta. Ikkilik kodning har bir biti bit deb ataladi (inglizcha "Binary Digit" - "binary number" dan).
Guruch. 2.9. O'nlik va ikkilik kodlash
Jadvalda 2.3-rasmda o'nlik va ikkilik tizimlardagi birinchi yigirmata son o'rtasidagi muvofiqlik ko'rsatilgan.
Jadval shuni ko'rsatadiki, ikkilik kod bitlarining talab qilinadigan soni o'nlik kod bitlarining kerakli sonidan sezilarli darajada ko'pdir. Raqamlar soni uchga teng bo'lgan maksimal mumkin bo'lgan son o'nlik tizimda 999, ikkilik tizimda esa atigi 7 (ya'ni ikkilik kodda 111). Umuman olganda, n-bitli ikkilik son 2n turli qiymatlarni, n-bitli oʻnlik son esa 10n turli qiymatlarni qabul qilishi mumkin. Ya'ni, katta ikkilik raqamlarni (o'ndan ortiq raqam bilan) yozish juda qulay bo'lmaydi.
2.3-jadval. O'nlik va ikkilik sistemalarda sonlar o'rtasidagi moslik | |||
O'nlik sistema | Ikkilik tizim | O'nlik sistema | Ikkilik tizim |
Ikkilik raqamlarni yozishni soddalashtirish uchun o'n oltilik tizim (o'n oltilik kodlash) deb ataladigan tizim taklif qilindi. Bunday holda, barcha ikkilik bitlar to'rt bitdan iborat guruhlarga bo'linadi (eng kam ahamiyatlisidan boshlanadi), so'ngra har bir guruh bitta belgi bilan kodlanadi. Har bir bunday guruh chaqiriladi tishlash(yoki tishlash, daftar), va ikkita guruh (8 bit) - bayt. Stoldan 2.3 4 bitli ikkilik raqam 16 xil qiymatni (0 dan 15 gacha) olishi mumkinligini ko'rsatadi. Shuning uchun, o'n oltilik kod uchun kerakli belgilar soni ham 16 ga teng, shuning uchun kod nomi. 0 dan 9 gacha bo'lgan raqamlar birinchi 10 ta belgi sifatida olinadi, so'ngra dastlabki 6 tadan foydalaniladi bosh harflar Lotin alifbosi: A, B, C, D, E, F.
Guruch. 2.10. Raqamlarning ikkilik va o‘n oltilik belgilari
Jadvalda 2.4 da birinchi 20 ta raqamni o'n oltilik kodlash misollari ko'rsatilgan (ikkilik raqamlar qavs ichida berilgan) va 2-rasm. 2.10-rasmda ikkilik sonni o‘n oltilik shaklda yozishga misol keltirilgan. O'n oltilik kodlashni belgilash uchun "h" yoki "H" harfi (inglizcha Hexadecimal dan) ba'zan raqam oxirida ishlatiladi, masalan, A17F h yozuvi A17F o'n oltilik sonini bildiradi. Bu yerda A1 raqamning yuqori baytini, 7F esa raqamning past baytini bildiradi. Butun raqam (bizning holatda, ikki baytli raqam) chaqiriladi bir so'z bilan aytganda.
2.4-jadval. O'n oltilik kodlash tizimi | |||
O'nlik sistema | o'n oltilik tizim | O'nlik sistema | o'n oltilik tizim |
0 (0) | A (1010) | ||
1(1) | B (1011) | ||
2 (10) | C (1100) | ||
3 (11) | D (1101) | ||
4 (100) | E (1110) | ||
5 (101) | F(1111) | ||
6 (110) | 10 (10000) | ||
7 (111) | 11 (10001) | ||
8 (1000) | 12 (10010) | ||
9 (1001) | 13 (10011) |
O'n oltilik sonni o'nlik raqamga aylantirish uchun siz eng kichik (nol) raqamning qiymatini bittaga, keyingi (birinchi) raqamning qiymatini 16 ga, ikkinchi raqamni 256 ga (16 2) ko'paytirishingiz kerak va hokazo. , va keyin barcha mahsulotlarni qo'shing. Masalan, A17F raqamini oling:
A17F=F*16 0 + 7*16 1 + 1*16 2 + A*16 3 = 15*1 + 7*16+1*256+10*4096=41343
Ammo har bir raqamli uskunalar mutaxassisi (ishlab chiquvchi, operator, ta'mirlashchi, dasturchi va boshqalar) o'n oltilik va ikkilik tizimlarni oddiy o'nli tizimlar kabi erkin boshqarishni o'rganishi kerak, shuning uchun tizimdan tizimga o'tkazish kerak emas.
Ko'rib chiqilgan kodlardan tashqari, raqamlarning ikkilik-o'nlik ko'rinishi deb ataladigan narsa ham mavjud. O'n oltilik kodda bo'lgani kabi, BCD kodida kodning har bir raqami to'rtta ikkilik raqamga to'g'ri keladi, ammo to'rtta ikkilik raqamning har bir guruhi 0, 1, 2, 3, 4 belgilari bilan kodlangan o'n olti emas, faqat o'nta qiymatni olishi mumkin. , 5, 6, 7, 8, 9. Ya'ni, bitta o'nlik kasr to'rtta ikkilikka to'g'ri keladi. Natijada, ma'lum bo'lishicha, raqamlarni ikkilik o'nli kodda yozish oddiy o'nli kodda yozishdan farq qilmaydi (2.6-jadval), lekin aslida bu shunchaki maxsus ikkilik kod bo'lib, uning har bir raqami faqat ikkita qiymatni qabul qilishi mumkin: 0 va 1. Ikkilik o'nlik kod ba'zan o'nlik raqamli ko'rsatkichlar va skorbordlarni tashkil qilish uchun juda qulaydir.
2.6-jadval. Ikkilik kasrli kodlash tizimi | |||
O'nlik sistema | Ikkilik kasrli sistema | O'nlik sistema | Ikkilik kasrli sistema |
0 (0) | 10 (1000) | ||
1(1) | 11 (1001) | ||
2 (10) | 12 (10010) | ||
3 (11) | 13 (10011) | ||
4 (100) | 14 (10100) | ||
5 (101) | 15 (10101) | ||
6 (110) | 16 (10110) | ||
7 (111) | 17 (10111) | ||
8 (1000) | 18 (11000) | ||
9 (1001) | 19 (11001) |
Ikkilik kodda siz raqamlar ustida istalgan arifmetik amallarni bajarishingiz mumkin: qo'shish, ayirish, ko'paytirish, bo'lish.
Masalan, ikkita 4 bitli ikkilik raqamlarni qo'shishni ko'rib chiqing. 0111 (o'nlik 7) va 1011 (o'nlik 11) raqamlarini qo'shamiz. Ushbu raqamlarni qo'shish o'nli belgilarga qaraganda qiyinroq emas:
0 va 0 qo'shilganda 0, 1 va 0 qo'shilganda 1, 1 va 1 qo'shilganda 0 ni olamiz va keyingi raqamga o'tamiz 1. Natija 10010 (o'nlik 18). Har qanday ikkita n-bitli ikkilik sonlarni qoʻshish natijasida n-bit son yoki (n+1)-bit son paydo boʻlishi mumkin.
Ayirish xuddi shu tarzda amalga oshiriladi. 10010 (18) raqamidan 0111 (7) raqami ayirilsin. Biz raqamlarni eng kam ahamiyatli raqamga yozamiz va o'nlik kasr tizimidagi kabi ayirib tashlaymiz:
0 dan 0 ni ayirishda 0 ni, 1 dan 0 ni ayirishda 1 ni, 1 dan 1 ni ayirishda 0 ni, 0 dan 1 ni ayirishda 1 ni olamiz va keyingi raqamga 1 ni olamiz. Natijada 1011 (o'nlik 11).
Ayirish paytida manfiy sonlarni olish mumkin, shuning uchun siz manfiy sonlarning ikkilik ko'rinishidan foydalanishingiz kerak.
Ikkilik musbat va ikkilik manfiy sonlarni bir vaqtning o'zida ifodalash uchun ko'pincha ikkitaning to'ldiruvchi kodi ishlatiladi. Ushbu koddagi manfiy raqamlar bir xil qiymatdagi musbat raqamga qo'shilsa, nolga olib keladigan raqam bilan ifodalanadi. Salbiy raqamni olish uchun siz bir xil musbat sonning barcha bitlarini qarama-qarshi bo'lganlarga o'zgartirishingiz kerak (0 dan 1 gacha, 1 dan 0 gacha) va natijaga 1 qo'shing, masalan, -5 raqamini yozing. Ikkilik koddagi 5 raqami 0101 ga o'xshaydi. Biz bitlarni qarama-qarshi bo'lganlar bilan almashtiramiz: 1010 va bittasini qo'shamiz: 1011. Natijani asl raqam bilan jamlaymiz: 1011 + 0101 = 0000 (biz beshinchi raqamga o'tkazishni e'tiborsiz qoldiramiz) .
Salbiy raqamlar ichida qo'shimcha kod eng muhim raqamning qiymatida ijobiylardan farq qiladi: eng muhim raqamdagi birlik manfiy raqamni, nol esa ijobiy raqamni aniqlaydi.
Ikkilik sanoq sistemasida standart arifmetik amallardan tashqari ba’zi bir maxsus amallar ham qo‘llaniladi, masalan, qo‘shish moduli 2. Bu amal (A bilan belgilanadi) bit yo‘nalishi bo‘yicha, ya’ni bir raqamdan ikkinchi raqamga o‘tkazish va ssudalar bo‘lmaydi. eng yuqori raqamlar. 2-modulni qo'shish qoidalari quyidagicha: , , . Xuddi shu operatsiya funksiya deyiladi Eksklyuziv OR. Masalan, modul 2 ni 0111 va 1011 ikkita ikkilik sonlarni yig'amiz:
Ikkilik sonlar bo'yicha boshqa bit bo'yicha operatsiyalar AND funktsiyasi va OR funksiyasini o'z ichiga oladi. AND funksiyasi ikkita asl sonning mos bitlari ikkalasi ham bitta bo'lsagina bittaga olib keladi, aks holda natija -0 bo'ladi. OR funksiyasi asl raqamlarning mos keladigan bitlaridan kamida bittasi 1 ga teng bo'lganda bitta natijani chiqaradi, aks holda natija 0 ga teng bo'ladi.
Ulanish