Ma'lumot qanday ifodalanadi
Matn, rasm, tovush, video, dastur kodi — kompyuter ichida hammasi sonlar, sonlar esa 0 va 1 lar ketma-ketligi.
Kompyuter ichida harflar, rasmlar yoki tovushlar yo'q. U yerda faqat elektr signallari bor va ular ikki holatdan birida bo'ladi: yuqori kuchlanish (masalan, ~1 volt) yoki past kuchlanish (~0 volt). Biz ularni 1 va 0 deb belgilaymiz. Bu ikki holatli tizim ikkilik (binar) tizim deyiladi, bitta 0 yoki 1 esa bit (binary digit) deb ataladi.
Nega aynan ikki holat? Chunki elektronikada ikki holatni bir-biridan ajratish juda oson va ishonchli. Agar o'n holat (0 dan 9 gacha) ishlatilganda, kuchlanishdagi kichik shovqin 5 ni 6 ga aylantirib yuborishi mumkin edi. Ikki holat bilan esa "tok bor yoki yo'q" degan savolga javob berish kifoya — xato ehtimoli juda kichik.
2.1. Ikkilik sanoq tizimi
Biz odatda o'nlik tizimda sanaymiz: har bir xona o'ng tomondagisidan 10 barobar katta (birlar, o'nlar, yuzlar...). Ikkilik tizimda esa har bir xona 2 barobar katta: 1, 2, 4, 8, 16, 32, 64, 128 va hokazo. Ikkilik sonni o'nlikka o'girish uchun 1 turgan xonalarning qiymatlarini qo'shib chiqamiz.
Teskari yo'nalish — o'nlik sonni ikkilikka o'girish uchun sonni ketma-ket 2 ga bo'lib, qoldiqlarni yozib boramiz, keyin ularni pastdan yuqoriga o'qiymiz. Masalan, 13: 13/2 = 6 (qoldiq 1), 6/2 = 3 (0), 3/2 = 1 (1), 1/2 = 0 (1). Pastdan o'qisak: 1101. Tekshiramiz: 8 + 4 + 0 + 1 = 13.
| O'nlik | Ikkilik | O'n oltilik (hex) |
|---|---|---|
| 0 | 0000 | 0 |
| 1 | 0001 | 1 |
| 5 | 0101 | 5 |
| 9 | 1001 | 9 |
| 10 | 1010 | A |
| 13 | 1101 | D |
| 15 | 1111 | F |
| 255 | 1111 1111 | FF |
Dasturchilar ko'pincha o'n oltilik (hexadecimal) tizimdan foydalanadi, chunki 4 bit aynan bitta hex raqamga to'g'ri keladi va uzun ikkilik sonlarni qisqa yozish mumkin bo'ladi. CSS'dagi #FF5733 rang kodi yoki xotira manzili 0x7FFE — bular hex yozuvi.
2.2. Bit, bayt va o'lchov birliklari
8 bit birlashib baytni tashkil qiladi. Bir bayt 28 = 256 xil qiymatni (0 dan 255 gacha) ifodalay oladi. Undan kattaroq birliklar:
| Birlik | Hajmi | Misol |
|---|---|---|
| 1 bayt (B) | 8 bit | bitta lotin harfi |
| 1 kilobayt (KB) | 1024 bayt | qisqa matn xabari |
| 1 megabayt (MB) | 1024 KB | bitta sifatli rasm (~3 MB) |
| 1 gigabayt (GB) | 1024 MB | bitta HD film (~2-4 GB) |
| 1 terabayt (TB) | 1024 GB | ~250 000 ta rasm |
Diqqat: internet tezligi odatda bitda (Mbit/s), fayl hajmi esa baytda (MB) o'lchanadi. 100 Mbit/s tezlikda sekundiga taxminan 12.5 MB yuklab olinadi (100 / 8).
2.3. Matn: ASCII va Unicode
Harflarni saqlash uchun har bir belgiga son biriktiriladi. 1963-yilda yaratilgan ASCII standartida 128 ta belgi bor: lotin harflari, raqamlar va tinish belgilari. Masalan, katta 'A' = 65, kichik 'a' = 97, '0' raqami = 48. Kompyuter "Salom" so'zini aslida beshta son sifatida saqlaydi.
ASCII faqat ingliz alifbosi uchun yetarli edi. Kirill, arab, xitoy yozuvlari va emojilar uchun Unicode standarti yaratildi — unda 150 000 dan ortiq belgi bor. Unicode belgilarini xotirada saqlashning eng keng tarqalgan usuli UTF-8: lotin harflari 1 bayt, kirill harflari 2 bayt, xitoy ieroglifi 3 bayt, emoji esa 4 bayt egallaydi. Shu sababli JavaScript'da '😀'.length natijasi 2 ga teng chiqadi — bu dasturchilar tez-tez duch keladigan tuzoq.
2.4. Rasm: piksellar
Raqamli rasm — bu kichik kvadratchalar, ya'ni piksellar to'ri. Har bir piksel rangi uchta son bilan beriladi: qizil (R), yashil (G) va ko'k (B) komponentlar. Har bir komponent 0 dan 255 gacha bo'ladi, ya'ni 1 bayt. Demak bitta piksel 3 bayt, 1920x1080 o'lchamdagi siqilmagan rasm esa 1920 × 1080 × 3 ≈ 6.2 MB joy egallaydi. JPEG, PNG, WebP kabi formatlar maxsus algoritmlar yordamida bu hajmni 10-20 barobar kamaytiradi.
2.5. Tovush va video
Tovush — havo bosimining uzluksiz o'zgarishi, ya'ni to'lqin. Mikrofon uni elektr signaliga aylantiradi, so'ng analog-raqamli o'zgartirgich (ADC) bu to'lqinni juda tez-tez o'lchaydi. CD sifatida sekundiga 44 100 marta o'lchov olinadi va har bir o'lchov 16 bitli son sifatida saqlanadi. Ijro etishda teskari jarayon — DAC sonlarni yana to'lqinga aylantiradi.
Video esa sekundiga 24-60 marta almashadigan rasmlar ketma-ketligi va ularga biriktirilgan tovush. Siqilmagan Full HD video sekundiga ~370 MB bo'lar edi, shuning uchun H.264, H.265, AV1 kabi kodeklar faqat kadrlar orasidagi farqni saqlaydi va hajmni yuzlab marta kamaytiradi.