Kalkulator Bitwise Shift
Geser bit-bit dari sebuah integer ke kiri atau ke kanan — arithmetic/signed >> atau logical/unsigned >>> — pada lebar bit yang dipilih (8/16/32/64), menampilkan pola biner sebelum/sesudah plus hasil desimal dan heksadesimal.
Input
Desimal (opsional negatif) atau unsigned 0x-hex, mis. -8 atau 0xF0.
Jumlah posisi bit untuk digeser. Jumlah ≥ lebar bit dijepit ke shift penuh (hasil 0, atau -1 untuk arithmetic right shift dari nilai negatif); jumlah negatif diperlakukan sebagai 0.
Output
| Property | Value |
|---|---|
| No data yet | |
Panduan
Kalkulator Bitwise Shift menggeser bit-bit dari sebuah integer ke kiri atau ke kanan dan menunjukkan pola biner sebelum-dan-sesudah yang tepat, plus hasil desimal dan heksadesimal. Dibangun untuk siapa saja yang perlu memahami operasi shift secara presisi — siswa belajar two's complement, pengembang men-debug bitmask, atau insinyur memverifikasi trik fast-multiply/divide — bukan hanya mendapatkan angka kembali.
Arithmetic vs. logical shift
Left shift (<<) selalu bekerja dengan cara yang sama: bit bergerak menuju posisi paling signifikan dan nol mengisi dari kanan. Bit yang bergeser melampaui lebar bit yang dipilih dijatuhkan.
Right shift memiliki dua makna berbeda, dan memilih yang salah adalah sumber bug klasik:
- Arithmetic right shift (
>>, signed) melestarikan tanda dari nilai. Jika angka negatif (bit teratas adalah 1), bit tinggi yang dikosongkan diisi dengan 1, sehingga hasilnya tetap negatif — aturan yang sama seperti pembagian integer yang dibulatkan menuju infinity negatif. Ini adalah apa yang dilakukan operator>>di sebagian besar bahasa pada integer yang ditandai. - Logical right shift (
>>>, unsigned) mengabaikan tanda sepenuhnya. Bit tinggi yang dikosongkan selalu diisi dengan 0, jadi angka negatif yang digeser menjadi angka positif yang besar. Ini adalah pilihan yang tepat ketika Anda memperlakukan nilai sebagai pola bit mentah daripada jumlah yang ditandai — misalnya, mengekstrak saluran warna dari pixel yang dikemas.
Karena perbedaannya hanya muncul pada angka negatif, mudah untuk menguji dengan benar pada nilai positif dan kemudian mendapat kejutan dalam produksi. Kalkulator ini memungkinkan Anda beralih antara keduanya pada input yang sama untuk melihat dengan tepat di mana mereka berbeda.
Cara menggunakannya
- Masukkan Nilai — integer desimal (angka negatif baik-baik saja, mis.
-8) atau literal hex unsigned seperti0xF0. - Masukkan Jumlah Shift — berapa banyak posisi bit untuk digeser.
- Pilih Arah Shift: left shift, arithmetic (signed) right shift, atau logical (unsigned) right shift.
- Pilih Lebar Bit — 8, 16, 32, atau 64 bit. Ini menentukan bagaimana nilai Anda diisi dan di mana bit jatuh dari tepinya; nilai desimal yang sama dapat bergeser berbeda tergantung pada lebar yang Anda pilih.
Tabel hasil menampilkan pola biner nilai asli yang diisi ke lebar pilihan Anda, pola biner setelah shift, hasil desimal, dan hasil hex — diperbarui secara instan saat Anda mengubah bidang apa pun.
FAQ
Apa yang terjadi jika jumlah shift lebih besar dari lebar bit? Hasilnya adalah apa yang akan Anda dapatkan dari menggeser setiap bit asli: 0 untuk left shift dan logical right shift, dan 0 atau -1 (semua bit disetel) untuk arithmetic right shift, tergantung pada apakah nilainya non-negatif atau negatif.
Apa yang terjadi dengan jumlah shift negatif? Itu diperlakukan sebagai 0 — nilai melewati tanpa berubah.
Mengapa input hex seperti 0xF0 bergeser berbeda dari desimal 240?
Tidak — 0xF0 dan 240 adalah nilai yang sama. Input hex hanya cara yang lebih mudah untuk mengetik pola bit yang tepat ketika Anda berpikir dalam terms biner/hex daripada desimal.
Mengapa angka negatif saya menjadi angka positif yang sangat besar? Anda mungkin menggunakan logical (unsigned) right shift pada nilai negatif. Itu diharapkan: logical shift tidak memiliki konsep tanda, jadi itu mengisi dengan 0 daripada melestarikan bit tanda. Beralih ke arithmetic right shift jika Anda ingin tanda diawetkan.
Apakah ini sama dengan Kalkulator Bitwise umum? Tidak — Kalkulator Bitwise menangani AND/OR/XOR/NOT plus shift pada sepasang angka. Alat ini khusus untuk mengeksplorasi perilaku shift: ia menambahkan pemilih lebar bit dan bacaan biner sebelum/sesudah lengkap sehingga Anda dapat melihat dengan tepat bit mana yang bergerak, bit mana yang jatuh, dan bit mana yang diisi.
Privasi
Semua perhitungan berjalan sepenuhnya di browser Anda. Nilai input Anda tidak pernah dikirim ke server.
Gunakan dari kode
REST API
curl -X POST https://api.iotools.cloud/v1/tool/bitwise-shift-calculator \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"value": "5",
"shiftAmount": "2",
"shiftDirection": "left",
"bitWidth": "8"
}'Ganti dengan kunci Anda sendiri dari akun Anda. Bidang alat menjadi isi permintaan — tanpa pembungkus.
Tanyakan ke agen AI
Use the IOTools `bitwise-shift-calculator` tool (Bitwise Shift Calculator) on this input:
YOUR_INPUT_HERETempelkan ini ke agen mana pun yang terhubung ke server MCP IOTools, lalu tambahkan input Anda.
| Biaya per panggilan | Mulai dari 5 kredit |
|---|