Nama : Haidi
No.Reg : 49031064
Modul 4.3
- Jelaskan setiap baris yang terdapat pada listing program diatas.
- /*Modul 4.3
- Operator Bitwise
- Nama : Haidi
- NIM : 49013064
- Jurusan : TJKMD*/
- #include <iostream>//mengakses file library iostream
- using namespace std;;;//dengan adanya fungsi ini, maka tidak perlu menuliskan source code std::cout << cukup dengan cout <<
- int main ()//fungsi utama
- {
- int U, V, W;//deklarasi variabel U,V,W bertipe integer
- U = 1 << 1;// nilai 1 << 1 (<< artinya pergeseran ke kiri 1 bit dan mengalikan suatu nilai dengan 2)
- V = 1 << 2;
- W = 1 << 3;
- cout <<“1 << 1 =” << U <<endl;//perintah output
- cout <<“1 << 2 =” << V <<endl;
- cout <<“1 << 3=” << W <<endl <<endl;
- int x, y ,z;//deklarasi variabel x,y,z bertipe integer
- x = 16 >> 1;// nilai 1 >> 1 (<< artinya pergeseran ke kanan 1 bit dan membagi suatu nilai dengan 2)
- y = 16 >> 2;
- z = 16 >> 3;
- cout << “16 >> 1 =” <<x <<endl;//perintah output
- cout << “16 >> 2 =” <<y <<endl;
- cout << “16 >> 3 =” <<z <<endl;
- int A = 1;//deklarasi variabel
- int B = 0;
- cout << “A = ” <<A <<endl;//perintah output
- cout << “B = ” <<B <<endl;
- cout <<“!A = ” << !A <<endl;//perintah output berupa penugasan untuk nilai negasi
- cout << “!B = ” <<!B <<endl;
- cout << “A & B = ” <<(A & B) <<endl;//perintah output berupa penugasan nilai &
- cout <<“A | B = ” << (A | B)<<endl;//perintah output berupa penugasaan nilai |
- cout <<“A ^ B = ” << (A ^ B)<<endl <<endl;//perintah output berupa penugasaan nilai ^
- system(“pause”);
- return (0);//nilai balikan dari fungsi main () adalah 0
- }
2. Jelaskan fungsi dan cara kerja dari listing program C++ diatas
Fungsi dari program diatas adalah untuk mengetahui nilai shif Right (>>), shif Left(<<), negasi(!), &, | dan ^.
Cara kerjanya adalah nilai yang telah ditentukan pada int U, V, W akan ditentukan dengan menggunakan rumus shif left(<<) yang artinya akan dikalikan dengan angka 2 setiap pergesaran kekiri satu bit.
Untuk nilai yang telah ditentukan pada int x, y, z akan ditentukan dengan menggunakan rumus shif right(>>) yang artinya akan dibagi dengan angka 2 setiap pergesan kekanan satu bit.
untuk lambang ! artinya negasi dimana nilai yang didapatkan adalah kebalikkan dari nilai awal. Untuk & artinya akan menghasilkan nilai benar jika semua operand bernilai 1, selain itu akan bernilai 0 /salah.
Untuk | artinya akan menghasilkan nilai 0(salah) jika semua operand bernilai 0, selain itu akan bernilai 1(baner). Untuk ^ akan menghasilkan nilai 1 jika nilai operand berlainan.