UnitConv
Bitwise

Kalkulator Bitwise

AND, OR, XOR, NOT, dan pergeseran bit pada bilangan bulat 32-bit, dengan visualisasi bit demi bit

Operand

Operand A
Operand B

Operasi

Hasil

12 & 10
Desimal8
Tanpa tanda8
Hex0x00000008
Biner00000000000000000000000000001000

Pola 32-bit dari hasil

0
31
0
30
0
29
0
28
0
27
0
26
0
25
0
24
0
23
0
22
0
21
0
20
0
19
0
18
0
17
0
16
0
15
0
14
0
13
0
12
0
11
0
10
0
9
0
8
0
7
0
6
0
5
0
4
1
3
0
2
0
1
0
0
MSB (bit 31)LSB (bit 0)

Nilai diperlakukan sebagai bilangan bulat 32-bit. Desimal bertanda menafsirkan bit teratas sebagai tanda (komplemen dua); desimal tanpa tanda membaca semua 32 bit sebagai besaran positif. Geser kanan bersifat logis (nol diisi dari kiri).

Tentang alat ini

Kalkulator bitwise memungkinkan pengembang dan mahasiswa ilmu komputer menghitung AND, OR, XOR, NOT, serta geser kiri/kanan pada dua bilangan bulat. Masukkan setiap operand dalam biner, desimal, atau heksadesimal dan hasilnya ditampilkan sekaligus dalam ketiga basis, lengkap dengan peta 32-bit langsung sehingga Anda dapat melihat persis bit mana yang berubah. Dibuat untuk men-debug flag dan bitmask, bekerja dengan izin, mengemas data, dan mempelajari bagaimana komputer memanipulasi bit di tingkat terendah.

Cara memakai

  1. 1 Masukkan Operand A dan pilih basisnya (biner, desimal, atau hex).
  2. 2 Pilih operasi: AND, OR, XOR, geser kiri/kanan, atau NOT uner.
  3. 3 Untuk operasi dua operand masukkan Operand B; untuk geseran masukkan berapa bit yang digeser.
  4. 4 Baca hasil dalam desimal, tanpa tanda, hex, dan biner, lalu periksa bit yang disorot.

Cara kerjanya

Operasi bitwise bekerja pada masing-masing dari 32 bit secara independen. AND mengatur bit hasil menjadi 1 hanya jika kedua bit masukan bernilai 1, sehingga dipakai untuk menutupi (mempertahankan) bit terpilih. OR mengatur bit menjadi 1 jika salah satu bit masukan bernilai 1, sehingga dipakai untuk menyalakan flag. XOR mengatur bit menjadi 1 hanya jika kedua bit masukan berbeda, yang sempurna untuk membalik bit dan untuk checksum sederhana. NOT bersifat uner: ia membalik setiap bit, mengubah 0 menjadi 1 dan 1 menjadi 0. Geser kiri (<<) memindahkan semua bit ke ujung paling signifikan dan mengisi dengan nol, sehingga mengalikan dua untuk setiap posisi; geser kanan logis (>>) memindahkannya ke arah lain dan juga mengisi dengan nol. Karena bilangan negatif disimpan dalam komplemen dua, 32 bit yang sama dapat dibaca sebagai nilai bertanda (bit teratas adalah tanda) atau tanpa tanda, itulah sebabnya alat ini menampilkan keduanya. Misalnya 12 AND 10 = 8, 12 OR 10 = 14, 12 XOR 10 = 6, 1 << 4 = 16, dan NOT 0 menghasilkan semua satu, yaitu -1 bertanda atau 4294967295 tanpa tanda.

Pertanyaan umum

Apa beda AND, OR, dan XOR?

AND mempertahankan bit hanya jika kedua operand menyetelnya, sehingga dipakai untuk menghapus atau menguji bit dengan mask. OR menyetel bit jika salah satu operand memilikinya, sehingga dipakai untuk menyalakan bit. XOR menyetel bit hanya jika tepat satu operand memilikinya, yang membalik bit dan mendeteksi perbedaan.

Mengapa NOT 0 menampilkan -1 dan juga 4294967295?

NOT membalik semua 32 bit, sehingga 0 menjadi tiga puluh dua angka 1. Dibaca sebagai bilangan bulat bertanda komplemen dua, pola itu adalah -1; dibaca sebagai bilangan bulat 32-bit tanpa tanda, ia adalah 4294967295. Keduanya menggambarkan bit yang sama.

Apa sebenarnya yang dilakukan geser kiri atau kanan?

Geser kiri sebanyak n memindahkan setiap bit n posisi ke ujung paling signifikan dan mengisi dengan nol, mengalikan dengan 2 pangkat n. Geser kanan logis sebanyak n memindahkannya ke arah lain dan mengisi dengan nol, membagi nilai non-negatif dengan 2 pangkat n.

Mengapa semuanya dibatasi 32 bit?

Operator bitwise JavaScript dan sebagian besar register bilangan bulat CPU bekerja pada kata 32-bit, dan alat ini mengikutinya. Jumlah geseran diambil modulo 32, dan nilai berputar dalam rentang 32-bit, persis seperti di C, Java, atau JavaScript.

Alat dan kegunaan terkait

Untuk mengonversi satu nilai antara biner, oktal, desimal, dan hex, gunakan konverter basis bilangan. Untuk kode karakter lihat konverter ASCII, dan untuk mask warna coba konverter kode warna.