Operasi geser (shift)
Shift adalah menggeser bit pada sebuah bilangan biner.
Sebagai contoh, bit-bit pada bilangan biner 11101 dapat digeser satu bit ke kiri. Karena sebelah kanannya menjadi kosong, maka diisi dengan bit nol.
| Semula | 1 | 1 | 1 | 1 | 0 | 1 | |
|---|---|---|---|---|---|---|---|
| Hasil | 1 | 1 | 1 | 1 | 0 | 1 | 0 |
Operasi di atas ini disimbolkan sebagai:
0b 11 1101 « 1 = 0b 111 1010
Yang dibaca sebagai, Bilangan biner 11 1101 digeser kiri 1 bit menjadi 111 1010.
Selain geser kiri, ada juga geser kanan.
0b 1100 » 2 = 0b 11
Bilangan biner 1100 digeser kanan 2 menjadi 11.
0b 1 1101 » 0b 11 = 0b 11.101
Bilangan biner 11101 digeser kanan 3 menjadi pecahan 11,101.
Hanya untuk bilangan biner
Operasi seperti ini sebenarnya bisa didefinisikan dalam desimal juga, tetapi sejauh ini tidak ada kegunaannya selain bagi pelaku markup anggaran yang menuliskan harga 4 juta menjadi 40 juta. Jadi karena kurang berguna, operasi-operasi ini tidak didedinisikan dalam aritmetika bilangan desimal.
Walaupun demikian, dalam pemrograman kita bisa melakukan operasi geser ini, tetapi yang dilakukan adalah menggeser nilai binernya, bukan nilai desimalnya. Misalnya bilangan 13 yang dalam biner dituliskan sebagai 0b1101, jika digeser kiri 2, akan menjadi 0b11 0100, yang dalam desimal adalah 52. Jadi:
13 « 2 = 52
karena
0b 1101 « 2 = 0b 11 0100
Nantinya kita akan melihat bahwa dalam bilangan biner, operasi ini sangat penting dalam banyak perhitungan yang dilakukan oleh komputer.