Operator bitwise — AND, OR, XOR, NOT, dan dua shiftnya — bekerja secara langsung pada representasi biner suatu bilangan, satu bit pada satu waktu, dan bukan pada nilai desimalnya. Mereka muncul terus-menerus dalam pemrograman: bitmask, flag, izin, hashing, dan trik kinerja tingkat rendah semuanya bergantung pada mereka. Kalkulator ini memungkinkan Anda memasukkan dua bilangan bulat dalam desimal, biner, atau heksa, menerapkan salah satu dari enam operasi, dan melihat bit mana yang berubah.

Bagaimana setiap operasi bekerja

AND, OR, dan XOR masing-masing membandingkan A dan B satu posisi bit pada satu waktu dan menggabungkannya berdasarkan aturan sederhana: AND menyimpan angka 1 hanya jika kedua masukannya adalah 1, OR menyimpan angka 1 jika salah satu masukannya adalah 1, dan XOR menyimpan angka 1 hanya jika masukannya tidak sesuai. NOT berbeda — ia mengambil satu input dan membalik setiap bit, yang pada lebar bit tetap sama dengan komputasi −A−1.

Operasi dua shift memindahkan bit ke samping alih-alih menggabungkan dua angka. Pergeseran ke kiri sebesar n mengalikan nilainya dengan 2ⁿ, menggeser setiap bit ke arah ujung atas dan mengisi ujung bawah dengan nol. Pergeseran ke kanan (logis) sebesar n dibagi 2ⁿ dan dibulatkan ke bawah, menggeser setiap bit ke arah ujung bawah dan membuang apa pun yang jatuh dari tepi kanan.

Masukan dan artinya

Pilih dasar penulisan angka Anda — desimal, biner, atau heksa — dan lebar bit (8, 16, atau 32 bit) tempat penghitungan dilakukan. Lebar bit penting karena menentukan perilaku NOT dan bilangan negatif: semuanya dihitung menggunakan komplemen dua pada lebar tersebut, sehingga operasi yang sama pada bilangan yang sama dapat memberikan pola bit yang berbeda pada lebar 8-bit versus lebar 16-bit.

Untuk AND, OR, dan XOR, Nilai A dan Nilai B merupakan operan penuh. Untuk suatu pergeseran, Nilai B diinterpretasikan kembali sebagai jumlah pergeseran dalam bit (selalu dibaca sebagai angka desimal biasa, apapun basis yang dipilih) dan bukan sebagai operan kedua. TIDAK hanya menggunakan Nilai A.

Batasan dan kasus tepi

Input desimal negatif didukung dan disimpan melalui komplemen dua pada lebar bit yang dipilih — misalnya, −1 pada lebar 8-bit adalah pola semua-satu 11111111. Pergeseran dengan jumlah pada atau melampaui lebar bit yang dikonfigurasikan akan menghapus setiap bit, karena tidak ada lagi yang perlu digeser. Kalkulator ini berfokus pada operasi bilangan bulat bitwise; untuk mengonversi suatu bilangan antar sistem bilangan tanpa menerapkan operasi, gunakan Kalkulator Basis Bilangan sebagai gantinya.