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.
Ushbu bo‘lim mundarijasi
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 holat | O'n holat | |
|---|---|---|
| Farqlash | Oson - chegara bitta | Qiyin - to'qqizta chegara |
| Shovqinga chidamlilik | Yuqori | Past |
| Sxema | Sodda | Murakkab |
| Xato ehtimoli | Kam | Ko'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.
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:
Masalan, 173 sonini olaylik. U to'rt xil sanoq sistemasida shunday yoziladi:
| Sanoq sistemasi | Yozuvi |
|---|---|
| O'nlik | 173 |
| Ikkilik | 10101101 |
| O'n oltilik | AD |
| Sakkizlik | 255 |
Ikkilik yozuvdagi har bir bitning o'z og'irligi bor. O'ngdan chapga qarab ular ikki barobar oshib boradi:
| Bit | Qiymati | Og'irligi | Qo'shiladi |
|---|---|---|---|
| 7 | 1 | 128 | + 128 |
| 6 | 0 | 64 | 0 |
| 5 | 1 | 32 | + 32 |
| 4 | 0 | 16 | 0 |
| 3 | 1 | 8 | + 8 |
| 2 | 1 | 4 | + 4 |
| 1 | 0 | 2 | 0 |
| 0 | 1 | 1 | + 1 |
| Jami | 173 |
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.
| Daraja | Qiymat | Daraja | Qiymat |
|---|---|---|---|
| 2⁰ | 1 | 2⁸ | 256 |
| 2¹ | 2 | 2¹⁰ | 1 024 |
| 2² | 4 | 2¹⁶ | 65 536 |
| 2³ | 8 | 2²⁰ | ~1 million |
| 2⁴ | 16 | 2³² | ~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:
| Raqam | Bitlari | Raqam | Bitlari |
|---|---|---|---|
0 | 0000 | 8 | 1000 |
1 | 0001 | 9 | 1001 |
2 | 0010 | A | 1010 |
3 | 0011 | B | 1011 |
4 | 0100 | C | 1100 |
5 | 0101 | D | 1101 |
6 | 0110 | E | 1110 |
7 | 0111 | F | 1111 |
Shuning uchun o'n oltilikdan ikkilikka o'tish uchun hisoblash umuman kerak emas - har raqamni o'z to'rtligiga almashtirsangiz bo'ldi:
| O'n oltilik | A | F | 3 | C |
|---|---|---|---|---|
| Ikkilikda | 1010 | 1111 | 0011 | 1100 |
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.
| Qayerda | Misol |
|---|---|
| Rang | #AF3C00 |
| MAC manzil | 00:1a:2b:3c:4d:5e |
| Xotira manzili | 0x7ffd4a2b |
| Bayt dampi | 48 65 6c 6c 6f |
20 soni kontekstga qarab ikki xil ma'no beradi:
| Yozuv | Qiymati |
|---|---|
20 | Yigirma |
0x20 | O'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.
| Son | Bo'linma | Qoldiq |
|---|---|---|
| 173 | 86 | 1 |
| 86 | 43 | 0 |
| 43 | 21 | 1 |
| 21 | 10 | 1 |
| 10 | 5 | 0 |
| 5 | 2 | 1 |
| 2 | 1 | 0 |
| 1 | 0 | 1 |
Endi qoldiqlarni pastdan yuqoriga o'qiymiz:
10101101.
Bu yuqorida olingan natija bilan aynan bir xil. Usulni istalgan son uchun qo'llash mumkin.
Bu savol haqiqiy chalkashlik manbai.
| Atama | Qiymati | Kim ishlatadi |
|---|---|---|
| kB (kilobayt) | 1 000 | Disk ishlab chiqaruvchilar |
| KiB (kibibayt) | 1 024 | Operatsion tizimlar |
Shuning uchun "1 TB" disk sotib olsangiz, kompyuter uni 931 GB deb ko'rsatadi. Disk yolg'on aytmagan - ikkalasi turli birlikda gapiryapti.
| Hajm | Baytlarda |
|---|---|
| 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.
- 200 sonini bit og'irliklari jadvali orqali ikkilikka o'tkazing.
- Natijani 2 ga bo'lish usuli bilan tekshiring - mos keldimi?
- 2 ning 0 dan 10 gacha darajalarini yodlab, yozib chiqing.
0xFF,0x10va0x100ning o'nlik qiymatini toping.0xCAFEni ikkilikka o'tkazing - har raqamni alohida.11010110ikkilik sonini o'nlikka o'tkazing.- O'sha sonni o'n oltilikka o'tkazing.
- Sevimli rangingizning HEX kodini ikkilikka o'tkazing.
- Nima uchun dasturchilar o'n oltilikni afzal ko'rishini yozing.
- 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
0xbilan 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.
O‘qish tarixini saqlamoqchimisiz?
Tizimga kirsangiz, tugatgan bo‘limlaringiz saqlanadi va qoldirgan joyingizdan davom etasiz.
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.