Operator geser ke kanan dan kiri
Pelajaran 7 dari 17 dalam kursus Manipulasi Bit di Coddy.
Operator shift digunakan untuk menggeser bit ke kiri atau ke kanan.
Operator geser kanan ( >> )
Operator ini menggunakan dua operand. Nilai pertama adalah angka yang bitnya ingin kita geser ke kanan, dan operand kedua menunjukkan berapa banyak posisi yang ingin kita geser. Pada dasarnya, kita mendorong angka nol dari sisi MSB ke dalam angka biner.
Geser kanan ditulis sebagai '>>' .
Geser kanan setara dengan membagi angka dengan pangkat dua. Mari pahami dengan ilustrasi.

Kita menggunakan (11)10 dan menggesernya ke kanan sebanyak 3 kali, sehingga menghasilkan (1)10 sebagai output. Kita juga dapat menghitungnya dengan mengambil nilai floor dari (11 / 23), yang sama dengan (1)10.
Penggunaan:
int a = 11;
a>>3;
OUTPUT: 1Di sini, a adalah angka yang bitnya harus digeser, dan 3 adalah jumlah posisi untuk menggeser angka tersebut ke kanan.
Operator geser kiri ( << )
Operator ini juga menggunakan dua operand. Operand pertama adalah angka yang bitnya ingin kita geser ke kiri, dan operand kedua menunjukkan berapa banyak posisi yang ingin kita geser. Pada dasarnya, kita mendorong angka nol dari sisi LSB. Geser kiri ditulis sebagai '<<' . Geser kiri setara dengan mengalikan angka dengan pangkat dua. Mari pahami dengan contoh yang sama.

Kita menggunakan (11)10 dan menggesernya ke kanan sebanyak 3 kali, sehingga menghasilkan (88)10 sebagai output. Kita juga dapat menghitungnya dengan mengalikan (11)10 dengan 23, yang hasilnya adalah (88)10. Perhatikan bahwa dalam kasus ini, kita tidak dapat menghapus MSB. Geser kiri akan menambah bit dan mendorong angka nol dari sisi LSB, tetapi tidak akan menghapus bit MSB. Sementara itu, pada geser kanan, kita mendorong angka nol dari sisi MSB dan bit di sebelah kiri akan dihilangkan.
Penggunaan:
int a = 11;
a<<3;
OUTPUT: 88Tantangan
MudahKalikan angka yang diberikan (input) dengan 2 menggunakan operator shift.
Coba sendiri
#include <iostream>
#include <vector>
using namespace std;
int Double(int num) {
// Tulis kodemu di sini
}Semua pelajaran di Manipulasi Bit
1Pengenalan dan dasar-dasar
Apa itu manipulasi bit?Mengapa kita membutuhkan manipulasi bit?Bilangan biner dan desimalOperator NOT dan OROperator ANDOperator XOROperator geser ke kanan dan kiriRingkasan operator bitwiseLatihan sendiri: Compiler C++ online
Periksa konversi: Konverter Basis Bilangan