Data dalam komputer disimpan dalam bentuk biner karena komputer hanya
bisa membedakan hidup (1) dan mati (0). Tiap digit dalam bilangan biner
disebut bit. Bagi yang belum tahu, bilangan biner adalah bilangan
berbasis dua yang hanya terdiri dari 0 dan 1. Bilangan berbasis sepuluh
yang ditampilkan di komputer sebenarnya juga disimpan dalam bentuk
bilangan biner. Saya tidak akan membahas cara mengubah bilangan basis
sepuluh menjadi bilangan biner karena saya sudah pernah membahas ini
sebelumnya saat membahas tentang bahasa C. Operator yang digunakan dalam
bahasa Pascal untuk bilangan biner, yaitu :
Berikut ini adalah contoh kode program untuk and, or dan xor.
- not : untuk membalikkan nilai biner dari 1 menjadi 0, atau 0 menjadi 1. Hasilnya tergantung rentang nilai tipe datanya.
Contoh : - not (16) => not (010000) => 11101111
- shr / shift right : untuk menggeser beberapa bit ke kanan; dan bit yang paling kanan akan dihilangkan.
Contoh : - 2 shr 1 => 000010 shr 1 => 000001 = 1
- 3 shr 1 => 000011 shr 1 => 000001 = 1
- 15 shr 2 => 001111 shr 2 => 000011 = 3
- Shl / shift left : untuk menggeser beberapa bit ke kiri dan menambahkan 0 sebagai bit terakhir; dan bit yang paling kiri akan dihilangkan.
- Or : Fungsinya mirip dengan operator logika "Or" hanya saja yang
diproses bukan true (1) dan false (0) melainkan bit yang berada dua
variabel di posisi yang sama. Jika bit di posisi yang sama, salah
satunya adalah "1", maka bit di posisi tersebut pada variabel hasil
adalah "1".
Contoh : - 000001 or 000010 => 000011
- 000001 or 000011 => 000011
- 001101 or 000011 => 001111
- And : Fungsinya mirip dengan operator logika "And" hanya saja yang
diproses bukan true (1) dan false (0) melainkan bit yang berada dua
variabel di posisi yang sama. Jika bit di posisi yang sama, salah
satunya adalah "0", maka bit di posisi tersebut pada variabel hasil
adalah "0".
Contoh : - 000001 or 000010 => 000000
- 000001 or 000011 => 000001
- 001101 or 000011 => 000001
- Xor : Fungsinya mirip dengan operator logika "Or" hanya saja yang
diproses bukan true (1) dan false (0) melainkan bit yang berada dua
variabel di posisi yang sama. Jika bit di posisi yang sama nilainya
berbeda, maka bit di posisi tersebut pada variabel hasil adalah "1".
Jika nilainya sama maka hasilnya adalah 0.
Contoh : - 000001 xor 000010 => 000011
- 000001 xor 000011 => 000010
- 001101 xor 000011 => 001110
Program Biner;
uses crt;
var a: Byte;
Begin
clrscr;
a:=5;
writeln('not ', a, ' = ', not a);
writeln(a, ' shr 1 = ', a shr 1);
writeln(a, ' shl 1 = ', a shl 1);
readln;
end.
Program Biner;
uses crt;
var a, b : Byte;
Begin
clrscr;
a:=5;
b:=3;
writeln(a, ' and ', b, ' = ', a and b);
writeln(a, ' or ', b, ' = ', a or b);
writeln(a, ' xor ', b, ' = ', a xor b);
readln;
end.