Menu Home

Right Shift dan Left Shift Bilangan Biner

Right Shift (>>) dan left shift (<<) dalam biner digunakan untuk menggeser bit yang ada dalam bilangan biner. contoh:

4 (desimal) = 0000 0100 (biner 8 bit).

jika bilangan tersebut di shift (geser) maka akan terjadi seperti ini (disini gunain 8 bit aja. biar ga kepanjangan)

x = 4, dalam biner x = 0000 0100

lalu di left shift

x << 2, dengan kata lain, nilai x digeser 2 bit ke kiri.

prosesnya kaya gini:

0000 0100 digeser 2 bit ke kiri jadi 0001 00xx. 2 bit yang paling kiri dihilangkan, sehingga terdapat 2 buah bit kosong (“xx”) dalam bilangan tersebut. selanjutnya bit yang kosong tersebut diisi dengan 0.

jadi hasilnya kata gini:

x << 2 = 0001 0000

sekarang right shift…. nilai awalnya kita pake 9 aja biar beda

x = 9, dalam biner 8 bit x = 0000 1001

trus di-right shift

x >> 3. artinya nilai x digeser 3 bit ke kanan.

eits, tunggu dulu, pada right shift ada 2 jenis proses

  • logical
  • arithmetic

Pertama kita bahas dulu yang logical

x >> 3

x = 0000 1001 lalu digeser ke kanan 3 bit jadi xxx0 0001, 3 bit paling kanan dihilangkan sehingga terdapat 3 bit paling kiri (xxx) menjadi kosong. lalu bit yang kosong tadi diisi dengan 0 (nol). sehingga:

x >> 3 = 0000 0001

sekarang kita bahas yang arithmetic

cara pengeserannya sama saja dengan yang logical yang membedakan hanya nilai pengisi bit kosong. lihat ini

x1 = 12, x1 = 0000 1100

x2 = 130, x2 = 1000 0010

sekarang kita geser ke kanan 2 bit ( >> 2 ). dengan arithmetic tentunya

x1 >>2 = 0000 0011

x2 >> 2 = 1110 0000

pada contoh diatas ada perbedaan nilai pengisi bit antara x1 dan x2 (walaupun sama sama di proses secara arithmetic), dan itulah yang membedakan antara arithmetic dan logical.

pada logical nilai pengisi bit yang kosong selalu 0.

sedangkan pada arithmetic nilai pengisinya tergantung nilai paling kiri (MSB) dari nilai awal (jika 0 maka bit kosong diisi 0 dan jika 1 nilainya diisi 1).

kalo masih belom jelas, liat lagi deh contoh di atas…. atau silahkan beri komentar di bawah..

nih ada posting lain yang menerapkan right shift dan left shift pada pemrograman c++, silahkan di lihat

Categories: Komputer & Internet Pelajaran & Tugas Personal Teori

Tagged as:

Bima J.

3 replies

  1. Ane masih belum paham gan yang bagian x2 = 130, x2 = 1000 0010 Jadi x2 >> 2 = 1110 0000
    Gimana tuh, kok dibelakangnya ditambah angka 1 bukan o ?

    1. maaf gan, telat replynya… hampir lupa klo punya blog.. hehe.
      ane coba jawab,

      itu karna pake proses arithmetic gan..
      nilai pengisi tergantung nilai paling kiri… kalo 1 diisi 1, klo 0 diisi 0

      klo yang dipake proses logical,
      nilai pengisinya tetap 0

Komentarnya mana?

%d bloggers like this: