Representasi Bit
Komputer merepresentasikan angka dalam bentuk bilangan basis 2, atau nama lainnya binary/biner. Representasi ini hanya memiliki angka 0 atau 1.Sebuah digit pada bilangan biner disebut dengan bit.
Sebagai catatan, bilangan yang kita biasa gunakan adalah basis 10, dengan digit berkisar antara 0 sampai 9.
Perhatikan contoh bilangan biner berikut:
1001101
Digit paling kanan menyatakan banyaknya 20, digit kedua dari kanan menyatakan banyaknya 21, dan seterusnya. Kita dapat mengetahui nilai bilangan tersebut dalam basis 10 dengan menjumlahkan seluruh nilai yang dinyatakan setiap bit:
1 * 2^0 = 1 0 * 2^1 = 0 1 * 2^2 = 4 1 * 2^3 = 8 0 * 2^4 = 0 0 * 2^5 = 0 1 * 2^6 = 64 ---- + 77Kini kita tahu hubungan antar representasi bilangan biner dan basis 10. Hubungan ini hanya berlaku untuk bilangan bulat (integer). Kita tidak membahas tentang bilangan riil, karena bentuk representasinya bergantung pada konteks.
Cara serupa dapat digunakan untuk mengubah bilangan basis 10 ke basis 2. Namun, ada algoritma yang lebih praktis:
1 2 3 4 5 6 7 8 9 | string toBinary( int v) { string s = "" ; int x = v; while (x > 0) { s = to_string(x%2) + s; x /= 2; } return s; } |
Prinsip kerja algoritma ini akan Anda ketahui setelah memahami operasi shift right yang akan dibahas di bawah.