Sistem bilangan dan konversi
| English | Bahasa Indonesia |
|---|---|
| byte/baɪt/ | byte |
| denary/ˈdiːnəri/ | desimal |
| binary/ˈbaɪnəri/ | biner |
| bit/bɪt/ | bit |
| nibble/ˈnɪbl/ | nibble |
| hexadecimal/ˌheksəˈdesɪml/ | heksadesimal |
| register width/ˈredʒɪstə wɪtθ/ | lebar register |
| kibi/ˈkɪbi/ | kibi |
⟦⟧ Terabyte yang sebenarnya bukan terabyte
- Di 2005 seorang Kalifornian membeli hard drive bertanda 80 GB. Komputernya melaporkan 74.5 GB. Ia menggugat, dan para produsen akhirnya membayar ganti rugi: mereka menghitung satu gigabyte sebagai seribu juta byte, dan sistem operasi menghitungnya sebagai $2^{30}$.
- Keduanya tidak berbohong. Ada dua keluarga awalan, satu berdasarkan pangkat sepuluh dan satu lagi berdasarkan pangkat dua, dan keduanya semakin menjauh seiring bertambahnya angka.
- Keseluruhan representasi data bergantung pada ide itu: komputer hanya menyimpan angka 0 dan 1, dan segalanya adalah kesepakatan tentang cara membacanya.
- Pelajaran ini mencakup tiga sistem bilangan, konversi di antaranya, dan dua keluarga awalan.
⟦⟧ Tiga sistem bilangan
- Desimal (basis 10) menggunakan digit 0 hingga 9, dengan nilai tempat yang merupakan pangkat dari sepuluh. Ini adalah sistem sehari-hari.
- Biner (basis 2) menggunakan 0 dan 1, dengan nilai tempat yang merupakan pangkat dari dua. Satu digit disebut bit; 4 bit disebut nibble; 8 bit disebut byte.
- Heksadesimal (basis 16) menggunakan 0 hingga 9 kemudian A hingga F untuk 10 hingga 15. Satu digit heksadesimal mewakili tepat 4 bit, itulah sebabnya ini adalah singkatan yang digunakan programmer untuk biner.
| Desimal | Biner | Heks |
|---|---|---|
| 10 | 1010 |
A |
| 15 | 1111 |
F |
| 16 | 0001 0000 |
10 |
| 255 | ⟦1111 1111⟧ |
FF |

Setiap sistem menggunakan nilai tempat; hanya basisnya yang berubah
Sistem bilangan
byte = Σ nilai tempat
Setiap bit bernilai pangkat dua — ubah bit dan perhatikan pembaruan desimal dan heksadesimal.
Berapa banyak bit yang diwakili oleh satu digit heksadesimal?
Satu digit heksadesimal (0–F) mencakup 16 nilai = $2^4$, sehingga memetakan tepat ke 4 bit (nibble).
Berapa banyak bit dalam satu byte?
Satu byte adalah 8 bit (dan satu nibble adalah 4 bit).
⟦⟧ Desimal ke biner
- Metode 1, nilai tempat: tulis pangkat-pangkat dua, ⟦$128, 64, 32, 16, 8, 4, 2, 1$⟧, dan kurangi dengan yang terbesar yang muat, ulangi dengan sisa yang tersisa. Letakkan angka 1 di bawah setiap pangkat yang Anda gunakan.
- Metode 2, pembagian berulang: bagi dengan 2 terus-menerus, catat setiap sisa, lalu baca sisa-sisa tersebut dari bawah ke atas.
- ⟦$42 = 32 + 8 + 2$⟧, sehingga bit di bawah 32, 8, dan 2 adalah 1 dan sisanya 0: ⟦
0010 1010⟧.

Kurangi pangkat dua terbesar yang muat, dan ulangi
Konversi denary $13$ ke biner (8-bit tidak diperlukan — hanya bit signifikan).
$13 = 8 + 4 + 1$, sehingga kolom 8, 4, dan 1 disetel: 1101.
Konversi biner 00101010 ke denary.
$32 + 8 + 2 = 42$ (kolom 32, 8, dan 2 disetel).
⟦⟧ Contoh soal: desimal 200 ke biner dan heks
- ⟦$200 = 128 + 64 + 8$⟧, sehingga biner 8-bit adalah ⟦
1100 1000⟧. - Pisahkan menjadi nibbles dari kanan:
1100⟧ adalah 12, yaitu C; ⟦1000⟧ adalah 8. Jadi heksadesimalnya adalah ⟦C8⟧. - Periksa dengan nilai tempat dari arah lain: ⟦
C8⟧ ⟦$= 12 \times 16 + 8 = 200$⟧. ✓ Selalu tunjukkan proses pengerjaan; konversinya sendiri membawa nilai skor.
⟦⟧ Biner dan heks, kedua arah
- Biner ke heks: kelompokkan bit menjadi nibbles dari kanan, tambahkan nol di awal kelompok paling kiri, dan konversikan setiap nibble. ⟦
0010 0010 1110⟧ menjadi ⟦2 2 E⟧, jadi ⟦22E⟧. - Heks ke biner: ganti setiap digit heks dengan pola 4-bit-nya sendiri. Tidak perlu aritmatika.
- Heks ke desimal: kalikan setiap digit dengan nilai tempatnya, ⟦$16^2 = 256$⟧, ⟦$16^1 = 16$⟧, ⟦$16^0 = 1$⟧. ⟦
22E⟧ ⟦$= 2 \times 256 + 2 \times 16 + 14 = 558$⟧.
Konversi heksadesimal 2E ke denary.
$2 \times 16 + 14 = 32 + 14 = 46$ (E bernilai 14).
Ubah bilangan biner 0010 0010 1110 menjadi heksadesimal.
Setiap nibble dikonversi secara terpisah dari kanan: 0010 = 2, 0010 = 2, 1110 = 14 = E.
⟦⟧ Berapa banyak bit yang dibutuhkan sebuah nilai?
- Soal ujian menetapkan lebar register (8, 12, atau 16 bit), dan Anda harus menambahkan nol di depan hingga mencapai lebar tersebut. ⟦$558$⟧ dalam 12 bit adalah ⟦
0010 0010 1110⟧, bukan ⟦10 0010 1110⟧. - Bilangan bulat tanpa tanda dari 0 sampai ⟦$2^n - 1$⟧ membutuhkan ⟦$n$⟧ bit: 200 butuh 8 bit (8 bit mencapai 255), 1000 butuh 10 bit (10 bit mencapai 1023), 16 butuh 5 bit (4 bit berhenti di 15).
- Satu digit heksadesimal butuh 4 bit, satu digit BCD butuh 4 bit, dan satu karakter ASCII butuh 7 bit, atau 8 untuk ASCII diperluas.
Tulis 558 denary sebagai bilangan biner 12-bit (empat bit per kelompok, spasi diperbolehkan).
558 = 512 + 32 + 8 + 4 + 2. Tambahkan nol di depan hingga mencapai 12 bit sesuai permintaan soal; jawaban tanpa pengisian nol akan kehilangan poin.
⟦⟧ Contoh soal: jumlah minimum bit
- Sebuah sistem harus menyimpan nilai dari 0 hingga 1000. Berapakah jumlah bit terkecil?
- Tanyakan pangkat dua mana yang pertama kali melebihi 1000. ⟦$2^9 = 512$⟧, terlalu kecil; ⟦$2^{10} = 1024$⟧, jadi sepuluh bit menampung 0 hingga 1023 dan 1000 muat.
- Jawabannya adalah 10 bit, dan alasannya adalah jangkauan, bukan jumlah digit. Jebakan umum: 16 butuh lima bit, karena empat bit berhenti di 15.
Berapa jumlah bit terkecil yang dapat menyimpan nilai tak-tertanda dari 0 hingga 1000?
Sembilan bit mencapai 511, sepuluh bit mencapai 1023. Soal ini berkaitan dengan jangkauan yang ditampung oleh bit, bukan jumlah digitnya.
⟦⟧ Awalan biner dan awalan desimal
- Awalan desimal adalah pangkat dari sepuluh dan digunakan untuk kapasitas drive serta kecepatan jaringan: kilo ⟦$= 10^3$⟧, mega ⟦$= 10^6$⟧, giga ⟦$= 10^9$⟧, tera ⟦$= 10^{12}$⟧.
- Awalan biner adalah pangkat dari dua dan digunakan untuk ukuran memori: kibi (Ki) ⟦$= 2^{10} = 1024$⟧, mebi (Mi) ⟦$= 2^{20}$⟧, gibi (Gi) ⟦$= 2^{30}$⟧, tebi (Ti) ⟦$= 2^{40}$⟧.
- Jadi drive "1 TB" menyimpan $10^{12}$ byte, tetapi sistem operasi yang melaporkan dalam TiB membagi dengan $2^{40}$ dan menampilkan sekitar 0.91. Tidak ada yang hilang; dua satuan berbeda digunakan.
Berapa banyak byte dalam 1 kibibyte (KiB)?
Satu kibibyte adalah $2^{10} = 1024$ byte (prefiks biner, digunakan untuk memori).
Drive yang dijual sebagai 1 TB berisi lebih sedikit byte daripada 1 TiB memori.
1 TB adalah 10^12 byte; 1 TiB adalah 2^40, sekitar 1.1 x 10^12. Awalan desimal untuk drive, awiran biner untuk memori.
⟦⟧ Di mana heksadesimal benar-benar digunakan
- Alamat memori dan kode mesin, karena satu digit heksadesimal tepat satu nibble dan satu byte tepat dua digit heksadesimal, sehingga dump mudah dibaca sekilas.
- Kode warna dalam halaman web: ⟦
#FF8800⟧ adalah satu byte masing-masing untuk merah, hijau, dan biru. Alamat MAC dan kode error juga demikian. - Alasannya selalu sama: heksadesimal adalah singkatan untuk biner yang dapat dibaca dan ditulis manusia tanpa kesalahan, bukan sistem yang digunakan oleh komputer itu sendiri.
Di mana heksadesimal digunakan secara praktis? Pilih semua yang berlaku.
Heksadesimal adalah singkatan yang mudah dibaca manusia untuk biner: satu digit per nibble, dua per byte. Prosesor itu sendiri bekerja dalam biner.
⟦⟧ Nilai yang sering terlewat
- Tambahkan nol hingga mencapai lebar yang diberikan soal. Jawaban tanpa penambahan nol kehilangan poin meskipun bit-nya benar.
- Kelompokkan nibbles dari kanan, bukan dari kiri, atau setiap digit heks akan bergeser.
- 4 bit mencapai 15, 8 bit mencapai 255, 10 bit mencapai 1023. "Berapa banyak bit" adalah pertanyaan tentang jangkauan.
- Kibibyte adalah 1024 byte dan kilobyte adalah 1000. Sebutkan mana yang Anda gunakan dalam perhitungan ukuran apa pun.
Anda telah memahaminya
- desimal basis 10, biner basis 2 (bit, nibble = 4 bit, byte = 8 bit), heksadesimal basis 16 di mana satu digit tepat satu nibble
- desimal ke biner dengan mengurangkan pangkat dua atau dengan pembagian berulang membaca sisa dari bawah ke atas; biner ke heksadesimal dengan mengelompokkan nibble dari kanan; heksadesimal ke desimal berdasarkan nilai tempat
- isi hingga lebar register; nilai tak bertanda memerlukan $n$ bit di mana $2^n$ pertama kali melaluinya
- awalan desimal adalah pangkat sepuluh (drives, jaringan), biner adalah pangkat dua (memori): kibi $= 1024$