2-bo‘lim

Sanoq sistemalari - 2, 10 va 16

Nima uchun kompyuter ikkilikda ishlaydi, o'rin qiymati, o'n oltilik yozuvning foydasi va qo'lda o'tkazish usuli.

🕑 8 daqiqa o‘qish 📄 1 196 so‘z 👁 0 marta ko‘rilgan
Ushbu bo‘lim mundarijasi
  1. Nima uchun aynan ikkita holat?
  2. O'rin qiymati
  3. Nima uchun o'n oltilik?
  4. Qo'lda o'tkazish
  5. Xulosa

Kompyuter ichida faqat ikki holat bor: tok bor va tok yo'q. Shuning uchun barcha sonlar ikkilik sanoq sistemasida yoziladi.

Nima uchun aynan ikkita holat? #

O'nta darajani ajratadigan sxema qurish mumkin. Lekin ikkita holatni ajratish ancha ishonchli:

Ikki holatO'n holat
FarqlashOson - chegara bittaQiyin - to'qqizta chegara
Shovqinga chidamlilikYuqoriPast
SxemaSoddaMurakkab
Xato ehtimoliKamKo'p

Kuchlanish 0 V dan 5 V gacha o'zgarsin. Ikki holatda chegara bitta: 2,5 V dan past - nol, yuqori - bir. Kichik shovqin javobni o'zgartirmaydi.

O'n holatda esa har 0,5 V alohida raqam bo'lardi - va eng kichik tebranish ham xatoga olib kelardi.

"Bit" so'zi qayerdan kelgan

1948-yilda Klod Shennon "Aloqaning matematik nazariyasi" maqolasida binary digit ("ikkilik raqam") iborasini qisqartirib bit deb yozdi.

Uni Shennonning hamkasbi Jon Tyuki taklif qilgan edi.

"Bayt" esa keyinroq, 1956-yilda IBM da paydo bo'ldi - bite ("tishlam") so'zidan, lekin bit bilan chalkashmasligi uchun ataylab byte deb yozilgan.

O'rin qiymati #

O'nlik sistemada 173 nimani anglatishini bilasiz: 1×100 + 7×10 + 3×1.

Ikkilikda ham xuddi shunday, faqat asos 10 emas, 2:

10101101 = 173 bit o'rni og'irligi hissasi 1 7 128 128 0 6 64 0 1 5 32 32 0 4 16 0 1 3 8 8 1 2 4 4 0 1 2 0 1 0 1 1 128 + 32 + 8 + 4 + 1 = 173 Bitlar O'NGDAN sanaladi va 0 dan boshlanadi
Har bit o'z og'irligiga ega - xuddi o'nlikdagi birlik, o'nlik, yuzlik kabi

Masalan, 173 sonini olaylik. U to'rt xil sanoq sistemasida shunday yoziladi:

Sanoq sistemasiYozuvi
O'nlik173
Ikkilik10101101
O'n oltilikAD
Sakkizlik255

Ikkilik yozuvdagi har bir bitning o'z og'irligi bor. O'ngdan chapga qarab ular ikki barobar oshib boradi:

BitQiymatiOg'irligiQo'shiladi
71128+ 128
60640
5132+ 32
40160
318+ 8
214+ 4
1020
011+ 1
Jami173

Faqat biti 1 bo'lgan o'rinlar qo'shiladi. Butun ikkilik sanoq sistemasining qoidasi shundan iborat.

E'tibor bering: bitlar o'ngdan sanaladi va 0 dan boshlanadi. "3-bit" deganda o'ngdan to'rtinchisi tushuniladi.

Birinchi o'nta darajani yodlab qo'ying
DarajaQiymatDarajaQiymat
2⁰12⁸256
22¹⁰1 024
42¹⁶65 536
82²⁰~1 million
2⁴162³²~4,3 milliard

Bular doimo uchraydi: 256 - baytdagi qiymatlar soni, 65 536 - port raqamlari soni (tarmoqlar darsligidan), 2³² - IPv4 manzillari soni.

Nima uchun o'n oltilik? #

Ikkilik yozuv aniq, lekin uzun: bitta bayt sakkizta belgi. O'n oltilik sistema esa ikkilik bilan ideal mos tushadi:

Har bir o'n oltilik raqam aynan to'rtta bitni yashiradi - ana shu uni qulay qiladi:

RaqamBitlariRaqamBitlari
0000081000
1000191001
20010A1010
30011B1011
40100C1100
50101D1101
60110E1110
70111F1111

Shuning uchun o'n oltilikdan ikkilikka o'tish uchun hisoblash umuman kerak emas - har raqamni o'z to'rtligiga almashtirsangiz bo'ldi:

O'n oltilikAF3C
Ikkilikda1010111100111100

Ya'ni 0xAF3C = 1010111100111100.

Shu sababli 1 bayt = 2 ta o'n oltilik raqam: 255 = 0xFF = 11111111.

Mana shuning uchun xotira dampi, rang kodlari va MAC manzillar hammasi o'n oltilikda yoziladi: u qisqa, lekin ikkilik tuzilishni yo'qotmaydi.

QayerdaMisol
Rang#AF3C00
MAC manzil00:1a:2b:3c:4d:5e
Xotira manzili0x7ffd4a2b
Bayt dampi48 65 6c 6c 6f
O'nlik va o'n oltilikni chalkashtirmang

20 soni kontekstga qarab ikki xil ma'no beradi:

YozuvQiymati
20Yigirma
0x20O'ttiz ikki

Shuning uchun o'n oltilik sonlar har doim belgi bilan yoziladi: 0x20, 20h yoki $20.

Belgisiz yozilgan o'n oltilik son - xatolarning keng tarqalgan manbai. Hujjat yozayotganda albatta belgi qo'ying.

Qo'lda o'tkazish #

Kalkulyator bo'lmaganda ham o'nlikdan ikkilikka o'tish oson. Qoida bitta: sonni 2 ga bo'lib boring va qoldiqlarni yozib oling.

SonBo'linmaQoldiq
173861
86430
43211
21101
1050
521
210
101

Endi qoldiqlarni pastdan yuqoriga o'qiymiz: 10101101.

Bu yuqorida olingan natija bilan aynan bir xil. Usulni istalgan son uchun qo'llash mumkin.

Kilobayt: 1000 mi yoki 1024 mi?

Bu savol haqiqiy chalkashlik manbai.

AtamaQiymatiKim ishlatadi
kB (kilobayt)1 000Disk ishlab chiqaruvchilar
KiB (kibibayt)1 024Operatsion tizimlar

Shuning uchun "1 TB" disk sotib olsangiz, kompyuter uni 931 GB deb ko'rsatadi. Disk yolg'on aytmagan - ikkalasi turli birlikda gapiryapti.

HajmBaytlarda
1 TB (disk)1 000 000 000 000
1 TiB (OT)1 099 511 627 776

Farq ~9%. Bu ataylab qilingan emas: disk sanoati o'nlik prefikslarni ishlatadi, xotira esa tabiiy ravishda 2 ning darajalarida o'lchanadi.

Amaliy topshiriq
  1. 200 sonini bit og'irliklari jadvali orqali ikkilikka o'tkazing.
  2. Natijani 2 ga bo'lish usuli bilan tekshiring - mos keldimi?
  3. 2 ning 0 dan 10 gacha darajalarini yodlab, yozib chiqing.
  4. 0xFF, 0x10 va 0x100 ning o'nlik qiymatini toping.
  5. 0xCAFE ni ikkilikka o'tkazing - har raqamni alohida.
  6. 11010110 ikkilik sonini o'nlikka o'tkazing.
  7. O'sha sonni o'n oltilikka o'tkazing.
  8. Sevimli rangingizning HEX kodini ikkilikka o'tkazing.
  9. Nima uchun dasturchilar o'n oltilikni afzal ko'rishini yozing.
  10. Diskingiz hajmini kB va KiB da hisoblab, farqni toping.

Xulosa #

  • Kompyuter ikki holat bilan ishlaydi, chunki ularni ishonchli farqlash oson.
  • Bit - binary digit dan; atamani 1948-yilda Shennon ommalashtirgan.
  • Ikkilik yozuvda har bit o'z o'rin qiymatiga ega: 1, 2, 4, 8, 16...
  • Bitlar o'ngdan va 0 dan sanaladi.
  • Bitta o'n oltilik raqam aynan to'rtta bitga teng.
  • Shuning uchun 1 bayt = 2 ta o'n oltilik raqam.
  • O'n oltilik yozuv qisqa, lekin ikkilik tuzilishni yo'qotmaydi.
  • O'n oltilik sonlarni har doim 0x bilan belgilang.
  • Qo'lda o'tkazish: 2 ga bo'lib, qoldiqlarni pastdan yuqoriga o'qing.
  • kB (1000) va KiB (1024) farqi disk hajmidagi chalkashlikning sababi.

Keyingi bo'limda manfiy sonlarni qanday yozishni o'rganamiz - va nima uchun -1 ning bitlari hammasi bir bo'ladi.

Xatolik topdingizmi?

Imlo xatosi, ishlamaydigan kod yoki noto‘g‘ri ma‘lumotni ko‘rsangiz - bizga xabar bering. Har bir xabar administrator tomonidan ko‘rib chiqiladi.