Page 53 - Project Akhir Media Pendidikan
P. 53

128 >> 1 = 64
                      128 >> 2 = 32
                      128 >> 3 = 16
                      128 >> 4 = 8
                      128 >> 5 = 4
                      128 >> 6 = 2
                      128 >> 7 = 1


                      Berikut ini tabel yang akan mengilustrasikan proses yang terjadi dalam program di atas.

                            Nilai X       X dalam bentuk bilangan biner        Hasil
                       X = 128              1  0  0  0  0  0  0  0             128
                       X = 128 >> 1         0  1  0  0  0  0  0  0              64
                       X = 128 >> 2         0  0  1  0  0  0  0  0              32
                       X = 128 >> 3         0  0  0  1  0  0  0  0              16
                       X = 128 >> 4         0  0  0  0  1  0  0  0               8
                       X = 128 >> 5         0  0  0  0  0  1  0  0               4
                       X = 128 >> 6         0  0  0  0  0  0  1  0               2
                       X = 128 >> 7         0  0  0  0  0  0  0  1               1

                      3.4.4.3.   Operator << (Shift Left)

                      Operator shift left (geser kiri) merupakan kebalikan dari operator >>, artinya di sini kita
                      melakukan pergeseran bit ke arah kiri sebanyak nilai yang didefinisikan. Berikut ini
                      bentuk umum penggunaan operator <<.

                       nilai << banyaknya_pergeseran_bit_ke_arah_kiri


                      Dalam setiap pergeseran bit-nya, operator ini akan mengalikan suatu nilai dengan 2.
                      Misalnya 1 >> 1, maka hasil yang akan didapatkan adalah 2 (berasal dari 1 x 2).
                      Sedangkan  1  >>  2 akan  memberikan  hasil  4  (berasal  dari  1  x  2  x  2),  1  >>  3
                      memberikan hasil 8 (berasal dari 1 x 2 x 2 x 2), begitu seterusnya. Perhatikan program
                      di bawah ini yang akan membuktikan hal tersebut.


                      #include <stdio.h>

                      #define X 0x01  /* nilai 1 dalam bentuk heksadesimal */

                      int main(void) {
                         printf(“%d << 1 = %d\n”, X, (X<<1));
                         printf(“%d << 2 = %d\n”, X, (X<<2));
                         printf(“%d << 3 = %d\n”, X, (X<<3));
                         printf(“%d << 4 = %d\n”, X, (X<<4));
                         printf(“%d << 5 = %d\n”, X, (X<<5));
                         printf(“%d << 6 = %d\n”, X, (X<<6));
                         printf(“%d << 7 = %d\n”, X, (X<<7));

                         return 0;
                      }

                                                           49
   48   49   50   51   52   53   54   55   56   57   58