Satu kumpulan n bit boleh membentuk 2n corak berbeza. Satu peraturan ini memberitahu anda berapa banyak nombor, aksara atau warna yang boleh diwakili oleh sejumlah bit, dan berapa bit diperlukan bagi satu set item.
Pelajaran ini mengikat penukaran perduaan, had di sebalik limpahan dan saiz kod dalam pengekodan aksara. Ia menutup Perwakilan nombor dan teks.
Mengapakah setiap bit tambahan menggandakan bilangan nilai?
Mulakan kecil dan senaraikan setiap corak.
| Bit | Corak | Bilangan |
|---|---|---|
| 1 | 0, 1 | 2 |
| 2 | 00, 01, 10, 11 | 4 |
| 3 | 000, 001, 010, 011, 100, 101, 110, 111 | 8 |
| 4 | 8 corak di atas dengan 0 di hadapan, ditambah 8 corak yang sama dengan 1 di hadapan | 16 |
Menambah satu bit memberi setiap corak lama dua versi: satu berakhir dengan 0 dan satu berakhir dengan 1. Jadi bilangan berganda setiap kali: 2, 4, 8, 16, 32, 64, 128, 256. Itu senarai yang sama dengan nilai tempat perduaan, itulah sebabnya 8 bit memberi 256 corak dan nombor terbesar ialah 255.
Bagaimanakah mencari bit yang diperlukan bagi satu set item?
- Kira item yang mesti dibezakan.
- Cari n terkecil yang menjadikan 2n lebih besar daripada atau sama dengan bilangan itu.
- Nyatakan n dan tunjukkan semakan: 2n mencukupi, dan 2n−1 tidak.
Contoh berlangkah
Sebuah penderia cuaca melaporkan satu daripada 12 kod cuaca berbeza, seperti cerah, mendung dan hujan. Berapa bit sekurang-kurangnya diperlukan bagi setiap kod?
23 = 8, kurang daripada 12, jadi 3 bit tidak cukup.
24 = 16, sekurang-kurangnya 12, jadi 4 bit mencukupi.
Jawapannya 4 bit. Empat daripada 16 corak tidak digunakan, dan itu tidak mengapa.
Satu kes kedua tentang warna. Sebuah imej menggunakan kedalaman warna 8 bit setiap piksel. Warna yang tersedia: 28 = 256.
Jika kedalaman warna dinaikkan kepada 24 bit, bilangan warna ialah 224 = 16 777 216. Kedalaman lebih besar memberi warna lebih kaya, tetapi setiap piksel kini memerlukan 24 bit dan bukan 8, jadi fail tiga kali lebih besar bagi bilangan piksel yang sama (24 ÷ 8 = 3).
Anda boleh menyemak kuasa 2 dengan cepat dalam kotak pasir penaakulan Python: print(2**8) memberi 256 dan print(2**24) memberi 16777216.
Kesilapan yang perlu diawasi
Kesilapan lazim ialah mendarab bilangan bit dengan 2 dan bukan menggunakan kuasa 2.
Soalan: Berapa banyak nilai berbeza yang boleh diwakili oleh 4 bit?
Jawapan yang salah: 4 × 2 = 8.
Itu betul untuk 3 bit, bukan 4 bit. Kerja yang betul ialah 2 × 2 × 2 × 2 = 16.
Versi kedua kesilapan ini ialah memberi 256 sebagai nombor 8 bit terbesar. Terdapat 256 corak, tetapi ia bermula pada 0, jadi yang terbesar ialah 255. Tanya diri anda “berapa banyak corak?” dan “apakah nombor terbesar?” sebagai dua soalan berasingan.
Semak diri anda
1. Berapa banyak nilai berbeza yang boleh diwakili oleh 6 bit?
Lihat jawapan
26 = 2 × 2 × 2 × 2 × 2 × 2 = 64. Semak: 32 digandakan ialah 64.
2. Sebuah perpustakaan mengekod 40 kategori buku dalam perduaan. Berapakah bilangan bit terkecil bagi setiap kod?
Lihat jawapan
25 = 32 kurang daripada 40, jadi 5 bit terlalu sedikit. 26 = 64 sekurang-kurangnya 40. Jawapannya 6 bit.
3. Sebuah imej mempunyai 16 warna. Apakah kedalaman warna yang diperlukan, dan apa berlaku kepada bilangan warna jika satu bit ditambah?
Lihat jawapan
16 = 24, jadi kedalamannya 4 bit. Menambah satu bit menjadikannya 5 bit, dan bilangan warna berganda kepada 32.
Langkah seterusnya
Kedalaman bit muncul semula apabila anda mempelajari cara imej dan bunyi disimpan, dalam panduan pembelajaran Computer Science. Uji semua dalam modul ini dengan set latihan campuran.
Guru boleh membantu anda menukar peraturan ini kepada penerangan yang jelas dan layak markah melalui tuisyen Computer Science dalam talian secara satu dengan satu.