Mundarija (25)
- Bu darsda
- 1. Nega bu kerak?
- 2. Tranzistor: kompyuterning eng kichik g'ishti
- 3. Bit va bayt nima?
- 3.1 Bit — eng kichik bo'lak
- 3.2 Bitlar ko'paysa, imkoniyat ham ko'payadi
- 3.3 Bayt — 8 bitlik guruh
- 4. O'nlik va ikkilik sanoq sistemalari
- 4.1 Ikkilikda qanday sanaymiz?
- 4.2 Xona qiymatlari
- 4.3 Ikkilik sonni o'nlikka o'tkazish
- 4.4 O'nlikdan ikkilikka: 1-usul — 2 ga bo'lish
- 4.5 O'nlikdan ikkilikka: 2-usul — xonalarni to'ldirish
- 4.6 Son qaysi sistemada yozilgan?
- 5. Ko'p uchraydigan xatolar
- 5.1 Chapdan boshlab hisoblash
- 5.2 Qoldiqlarni teskari tartibda o'qish
- 5.3 Ikkilik sonda 2 raqamini ishlatish
- 5.4 Boshidagi nollardan qo'rqish
- 6. Mashqlar
- 1-mashq (oson): Ikkilikdan o'nlikka
- 2-mashq (o'rta): O'nlikdan ikkilikka
- 3-mashq (qiyin): 1 baytning chegaralari
- 7. Real ishda
- Xulosa
Ikkilik sanoq sistemasi: nega kompyuter faqat 0 va 1 raqamlarini tushunadi
Qisqacha: Kompyuter ichidagi milliardlab tranzistorlarning faqat ikki holati bor: tok bor (1) yoki tok yo'q (0). Shuning uchun kompyuter har qanday son, matn va rasmni faqat 0 va 1 bilan yozadi — bu ikkilik sanoq sistemasi. Bitta 0 yoki 1 — bit, 8 ta bit — 1 bayt.
Bu darsda
- Kompyuter nega 10 ta raqam emas, faqat 0 va 1 bilan ishlashini tushunasiz.
- Tranzistor nima ekanini chiroq kaliti misolida bilib olasiz.
- Bit va bayt nima ekanini hamda 2 ning darajalari qayerdan kelishini bilasiz.
- Ikkilikda sanashni va ikkilik sonni o'nlikka o'tkazishni o'rganasiz.
- O'nlik sonni ikkilikka ikki xil usulda o'tkaza olasiz.
Oldin bilishingiz kerak: Kompyuter nima: apparat va dastur. Maktabdagi oddiy ko'paytirish va bo'lish yetarli.
1. Nega bu kerak?
Biz bolalikdan 10 ta raqam bilan hisoblaymiz: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Sababi oddiy — qo'limizda 10 ta barmoq bor. Bu sanoq usuli o'nlik sanoq sistemasi deyiladi.
Kompyuterning esa barmoqlari yo'q. U qog'ozdagi yozuvni ko'rmaydi. Uning ichida faqat elektr toki yuradi.
Tasavvur qiling: qorong'i kechada uzoqdagi tepalikda turgan do'stingizga fonar bilan xabar bermoqchisiz.
Agar siz "Fonarni 10 xil yorug'likda yoqaman: sal xira — 1, sal yorug'roq — 2, o'rtacha — 3..." desangiz, do'stingiz uzoqdan bu darajalarni ajrata oladimi? Yo'q. Tuman bo'ladi, chang bo'ladi, 6 bilan 7 aralashib ketadi.
Endi boshqacha kelishuv qilaylik:
- Fonar yoniq — 1.
- Fonar o'chiq — 0.
Bu xabarni hatto kuchli shamolda ham adashmasdan o'qish mumkin. Kompyuterlar aynan shu oddiy va ishonchli g'oya asosida qurilgan.
2. Tranzistor: kompyuterning eng kichik g'ishti
Oldingi darsda ko'rgan protsessor (CPU) ichida o'nlab milliard mitti elektr kalitlari bor. Ular tranzistor deyiladi.
Tranzistor — xonangizdagi chiroq kalitining juda kichik nusxasi. Farqi shundaki, uni qo'l bilan emas, elektr signali bilan yoqib-o'chirishadi. Uning ikki holati bor:
- Tok o'tyapti (yoniq) → biz buni 1 deb belgilaymiz.
- Tok o'tmayapti (o'chiq) → biz buni 0 deb belgilaymiz.
Nega 10 ta holat emas? Chunki simdagi tok kuchi hech qachon mutlaqo bir tekis bo'lmaydi — doim ozgina tebranadi. 10 xil darajani ajratishga harakat qilsak, bu tebranishlar tufayli 6 ni 7 deb o'qib qo'yish mumkin. "Bor yoki yo'q" ni esa adashtirish qiyin.
Faqat ikki raqamdan (0 va 1) foydalanadigan sanoq usuli ikkilik sanoq sistemasi (binary) deyiladi.
Tekshirib ko'ring: Nega muhandislar kompyuter uchun o'nlik emas, ikkilik sistemani tanlashgan?
Javob
Elektr signalida ikki holatni (tok bor yoki yo'q) ajratish eng ishonchli. Tok kuchi doim ozgina tebranadi. 10 xil darajani ajratishga urinsak, bu tebranishlar xatoga olib kelardi — xuddi uzoqdagi fonarning 10 xil yorug'ligini adashtirgandek.
3. Bit va bayt nima?
3.1 Bit — eng kichik bo'lak
Bit (binary digit — ikkilik raqam) — kompyuterdagi ma'lumotning eng kichik bo'lagi. U faqat 0 yoki 1 bo'la oladi.
Bitta bit bilan faqat ikki narsani ifodalash mumkin: ha/yo'q, yoqiq/o'chiq, to'g'ri/noto'g'ri.
3.2 Bitlar ko'paysa, imkoniyat ham ko'payadi
Bitta bit — 2 xil holat. Ikkita bit-chi? Keling, hammasini sanab chiqamiz: 00, 01, 10, 11 — 4 xil holat.
Uchta bit: 000, 001, 010, 011, 100, 101, 110, 111 — 8 xil holat.
Qonuniyatni ko'ryapsizmi? Har bir yangi bit qo'shilganda holatlar soni 2 barobar ortadi: 2, 4, 8, 16...
Buni qisqa yozish uchun darajadan foydalanamiz. 2³ ("ikkining uchinchi darajasi") — 2 ni uch marta o'ziga ko'paytirish: 2 × 2 × 2 = 8. Qoida: n ta bit bilan 2ⁿ xil holat yozish mumkin.
| Bitlar soni | Hisob | Necha xil holat |
|---|---|---|
| 1 bit | 2¹ | 2 |
| 2 bit | 2² = 2 × 2 | 4 |
| 4 bit (yarim bayt) | 2⁴ | 16 |
| 8 bit (1 bayt) | 2⁸ | 256 |
3.3 Bayt — 8 bitlik guruh
Bitta bit juda kichik. Shuning uchun bitlar guruhlanadi — xuddi harflardan so'z yasalgandek.
Bayt (byte) — ketma-ket kelgan 8 ta bit.
1 bit: [ 1 ]
1 bayt: [ 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 ] (8 ta bit)Nega aynan 8? 8 bit bilan 2⁸ = 256 xil qiymat yozish mumkin (00000000 dan 11111111 gacha). Bu lotin harflari, raqamlar va tinish belgilarining hammasiga yetadi. Shuning uchun 8 bit qulay o'lcham bo'lib qoldi va bugun hamma kompyuterda standart.
Kompyuterda hamma narsa baytlar bilan yoziladi. Masalan, A harfi xotirada 01000001 bo'lib turadi. Harflar qanday raqamga aylanishini matn kodlash darsida ko'ramiz.
Tekshirib ko'ring: 3 ta bit bilan nechta xil holat yozish mumkin? 10 ta bit bilan-chi?
Javob
3 ta bit — 2³ = 8 xil holat. 10 ta bit — 2¹⁰ = 1024 xil holat. Har bir bit holatlar sonini 2 barobar oshiradi: 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024. 1024 soni keyingi darsda yana chiqadi.
4. O'nlik va ikkilik sanoq sistemalari
4.1 Ikkilikda qanday sanaymiz?
O'nlikda sanaganda 9 dan keyin raqam tugaydi. Shunda chapga yangi xona qo'shamiz va 10 yozamiz.
Ikkilikda xuddi shunday, faqat raqam 1 dan keyinoq tugaydi:
| O'nlikda | Ikkilikda | Nima bo'ldi |
|---|---|---|
| 0 | 0 |
|
| 1 | 1 |
Raqamlar tugadi |
| 2 | 10 |
Yangi xona qo'shildi |
| 3 | 11 |
|
| 4 | 100 |
Yana yangi xona |
| 5 | 101 |
|
| 6 | 110 |
|
| 7 | 111 |
|
| 8 | 1000 |
Yana yangi xona |
Ikkilikdagi 10 "o'n" emas, "bir-nol" deb o'qiladi va u ikki degani.
4.2 Xona qiymatlari
O'nlikda har bir xona o'zidan o'ngdagisidan 10 barobar katta. Masalan, 347:
- 3 × 100
- 4 × 10
- 7 × 1
- Jami: 300 + 40 + 7 = 347.
Ikkilikda esa har bir xona o'ngdagisidan 2 barobar katta. O'ngdan chapga qarab: 1, 2, 4, 8, 16...
Xona qiymati: 128 64 32 16 8 4 2 1
Daraja: 2⁷ 2⁶ 2⁵ 2⁴ 2³ 2² 2¹ 2⁰2⁰ = 1 — har qanday sonning nolinchi darajasi 1 ga teng, bu matematik kelishuv. Eng o'ngdagi xona — "birlar" xonasi.
4.3 Ikkilik sonni o'nlikka o'tkazish
Keling, 1011 sonini o'nlikka aylantiramiz. Har raqamni o'z xona qiymatiga ko'paytiramiz:
| Xona qiymati | Raqam | Ko'paytma |
|---|---|---|
| 8 | 1 | 1 × 8 = 8 |
| 4 | 0 | 0 × 4 = 0 |
| 2 | 1 | 1 × 2 = 2 |
| 1 | 1 | 1 × 1 = 1 |
Qo'shamiz: 8 + 0 + 2 + 1 = 11. Demak, ikkilikdagi 1011 = o'nlikdagi 11.
Qisqa yo'l: faqat 1 turgan xonalarning qiymatini qo'shing. 0 turgan xonalar hech narsa qo'shmaydi.
Yana bir misol, 1101:
- 1 × 8 = 8
- 1 × 4 = 4
- 0 × 2 = 0
- 1 × 1 = 1
- Jami: 8 + 4 + 0 + 1 = 13.
O'zingiz to'ldiring: ikkilikdagi 0101 soni o'nlikda ga teng.
4.4 O'nlikdan ikkilikka: 1-usul — 2 ga bo'lish
Sonni 0 qolguncha 2 ga bo'lib boramiz. Har safar qoldiqni (0 yoki 1) yozib qo'yamiz. Masalan, 13:
| Bo'lish | Butun qismi | Qoldiq |
|---|---|---|
| 13 ÷ 2 | 6 | 1 |
| 6 ÷ 2 | 3 | 0 |
| 3 ÷ 2 | 1 | 1 |
| 1 ÷ 2 | 0 | 1 |
Endi qoldiqlarni pastdan tepaga o'qiymiz: 1101.
Tekshiramiz: 8 + 4 + 0 + 1 = 13. To'g'ri!
4.5 O'nlikdan ikkilikka: 2-usul — xonalarni to'ldirish
Bu usul kichik sonlar uchun tezroq. Xona qiymatlarini (1, 2, 4, 8, 16, 32...) yozib olamiz va sonni ularning yig'indisiga bo'lamiz.
Masalan, 20:
- 20 dan kichik yoki teng eng katta xona — 16. Yozamiz: 16. Qoldi: 20 − 16 = 4.
- 4 dan kichik yoki teng eng katta xona — 4. Qoldi: 4 − 4 = 0. Tamom.
- Demak, 20 = 16 + 4.
Endi 16 va 4 xonalariga 1, qolganlariga 0 qo'yamiz:
Xona: 16 8 4 2 1
Raqam: 1 0 1 0 0Natija: 10100.
Tekshirib ko'ring:
110ikkilik soni o'nlikda nechaga teng? O'nlikdagi 7 soni ikkilikda qanday yoziladi?
Javob
110 = 4 + 2 + 0 = 6 (faqat 1 turgan 4 va 2 xonalarini qo'shdik). 7 = 4 + 2 + 1, demak ikkilikda 111. Jadvaldagi sanash bilan ham tekshirsa bo'ladi.
4.6 Son qaysi sistemada yozilgan?
10 — bu o'n mi yoki ikki? Yozuvning o'zidan bilib bo'lmaydi. Shuning uchun kitoblarda ikkilik son kichik indeks bilan belgilanadi: 10₂ = 2, 10₁₀ = 10.
Dasturlash tillarida esa ikkilik son oldiga 0b qo'yiladi: 0b1011 — bu ikkilikdagi 11. Buni JavaScript darslarida uchratasiz, hozir yodlash shart emas.
5. Ko'p uchraydigan xatolar
5.1 Chapdan boshlab hisoblash
Eng kichik xona (1) har doim eng o'ngdagi raqamga tegishli. Ko'pchilik chapdan boshlab "1, 2, 4..." deb yozadi va hisob chalkashadi. Har doim o'ngdan boshlang: 1, 2, 4, 8, 16.
5.2 Qoldiqlarni teskari tartibda o'qish
2 ga bo'lish usulida qoldiqlar pastdan tepaga o'qiladi. Tepadan pastga o'qisangiz, 13 uchun 1101 o'rniga 1011 (ya'ni 11) chiqadi. Natijani doim teskari yo'l bilan tekshiring.
5.3 Ikkilik sonda 2 raqamini ishlatish
Ikkilikda faqat ikki raqam bor: 0 va 1. 1021 kabi yozuv ikkilik son bo'la olmaydi.
5.4 Boshidagi nollardan qo'rqish
0101 va 101 — bitta son (5). Chap tomondagi nollar qiymatni o'zgartirmaydi, xuddi o'nlikda 007 = 7 bo'lgani kabi. Baytni to'liq 8 xonada ko'rsatish uchun ular ko'pincha qo'shib yoziladi: 00000101.
6. Mashqlar
1-mashq (oson): Ikkilikdan o'nlikka
Quyidagi sonlarni o'nlikka aylantiring:
001101101000
Yechim
0011= 0 × 8 + 0 × 4 + 1 × 2 + 1 × 1 = 3.0110= 0 × 8 + 1 × 4 + 1 × 2 + 0 × 1 = 6.1000= 1 × 8 + 0 × 4 + 0 × 2 + 0 × 1 = 8.
2-mashq (o'rta): O'nlikdan ikkilikka
Quyidagi sonlarni ikkilikka o'tkazing. Istalgan usuldan foydalaning (2 ga bo'lish yoki xonalarni to'ldirish).
91520
Yechim
Xonalarni to'ldirish usuli bilan:
- 9 = 8 + 1 →
1001. - 15 = 8 + 4 + 2 + 1 →
1111. - 20 = 16 + 4 →
10100.
2 ga bo'lish bilan ham tekshirib ko'ring. Masalan, 9: 9 ÷ 2 = 4 (qoldiq 1), 4 ÷ 2 = 2 (0), 2 ÷ 2 = 1 (0), 1 ÷ 2 = 0 (1). Pastdan tepaga: 1001.
3-mashq (qiyin): 1 baytning chegaralari
Bitta baytda 8 ta bit bor.
- 1 baytga sig'adigan eng kichik son qaysi? U o'nlikda nechaga teng?
- Eng katta son
11111111o'nlikda nechaga teng? - Nega bayt 256 xil qiymat saqlaydi, lekin eng katta qiymati 256 emas?
Yechim
- Eng kichigi —
00000000, o'nlikda 0. 11111111= 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255.- Chunki sanash 0 dan boshlanadi. 0, 1, 2, ..., 255 — bu jami 256 ta son. Xuddi 1 dan 10 gacha 10 ta son bo'lgani kabi, 0 dan 255 gacha 256 ta son bor.
Maslahat: Javobingizni kompyuterda tekshirishingiz mumkin. Windows'dagi Calculator (Kalkulyator) ilovasini oching, menyudan Programmer rejimini tanlang.
DECqatoriga son kiritsangiz,BINqatorida uning ikkilik ko'rinishi chiqadi.
7. Real ishda
Dasturchi har kuni sonlarni qo'lda ikkilikka o'tkazib o'tirmaydi — buni kompyuter o'zi qiladi. Lekin 0 va 1 g'oyasi hamma joyda chiqadi:
- 2 ning darajalari hamma joyda. Telefon xotirasi 64, 128, 256 GB; RAM 8, 16, 32 GB. Bu sonlar tasodifiy emas — hammasi 2 ning darajalari. Keyingi darsda 1024 sonining sirini ochamiz.
- Ranglar. Ekrandagi har bir nuqtaning rangi uchta sondan iborat: qizil, yashil va ko'k miqdori. Har biri 1 bayt, ya'ni 0 dan 255 gacha. Bu haqda ranglar darsida to'liq gaplashamiz.
- IP manzil.
192.168.1.1kabi manzilni Wi-Fi sozlamalarida ko'rgandirsiz. U to'rtta baytdan iborat, shuning uchun har bir bo'lagi 0 dan 255 gacha bo'ladi. Tarmoqni alohida darsda o'rganamiz. - Ha/yo'q belgilari. Bitta baytga 8 ta "ha/yo'q" belgisini (masalan, 8 xil ruxsatni) joylash mumkin. Bu usulni sonlar ichkarida darsida ko'ramiz.
Xulosa
- Kompyuter faqat 0 va 1 bilan ishlaydi, chunki "tok bor yoki yo'q"ni ajratish eng ishonchli.
- Tranzistor — elektr signali bilan boshqariladigan mitti kalit.
- Bit — eng kichik bo'lak (0 yoki 1). Bayt — 8 bit, u 0 dan 255 gacha son saqlaydi.
- n ta bit bilan 2ⁿ xil holat yoziladi: har bir bit imkoniyatni 2 barobar oshiradi.
- Ikkilikda xona qiymatlari o'ngdan chapga 2 barobar ortadi: 1, 2, 4, 8, 16, 32...
- O'nlikdan ikkilikka — 2 ga bo'lish yoki xonalarni to'ldirish usuli bilan o'tkaziladi.
Keyingi dars: O'lchov birliklari: KB, MB, GB va internet tezligi — nega 1000 va 1024 chalkashadi va internet tezligi aslida nimani bildiradi.
Izohlar (0)
Izoh yozish uchun kiring.
- Hozircha izoh yo'q. Birinchi bo'ling!