Jawapan ringkas
Perduaan ialah asas-2: setiap digit (bit) ialah 0 atau 1, dan setiap kedudukan mewakili kuasa dua. 1010 dalam perduaan sama dengan 1×8 + 0×4 + 1×2 + 0×1 = 10 dalam perpuluhan. Kalkulator ini mengendalikan aritmetik binari, logik bitwise (DAN, ATAU, XOR, NOT), anjakan bit dan penukaran segera kepada perpuluhan, heks dan perlapanan.
Pengambilan utama
- Nilai dihadkan pada julat integer yang ditandatangani 32-bit (-2,147,483,648 hingga 2,147,483,647) — rentetan binari di luar julat itu ditolak dan bukannya dipotong secara senyap.
- Bitwise AND/OR/XOR membandingkan nombor sedikit demi sedikit dan tidak sama dengan penambahan atau pendaraban aritmetik — 1010 DAN 0110 sama dengan 0010, bukan 16.
- Anjakan kiri dengan n adalah bersamaan dengan mendarab dengan 2ⁿ; anjakan kanan oleh n adalah bersamaan dengan pembahagian integer (lantai) sebanyak 2ⁿ.
- Setiap digit heks memetakan tepat kepada 4 bit perduaan, yang menjadikan penukaran heks kepada perduaan mekanikal sebaik sahaja anda mengetahui corak 16 empat bit.
Bagaimana nilai tempat binari berfungsi
Sama seperti nilai tempat perpuluhan menggunakan kuasa sepuluh, nilai tempat binari menggunakan kuasa dua. Membaca nombor 8-bit 10110101 dari kanan ke kiri:
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|
| 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 |
Jumlahkan nilai kedudukan di mana terdapat 1: 128 + 32 + 16 + 4 + 1 = 181. Jadi perduaan 10110101 sama dengan perpuluhan 181.
Operasi bitwise lwn. operasi aritmetik
| Operasi | Apa yang dilakukannya | Contoh |
|---|---|---|
| AND (&) | 1 sahaja di mana kedua-dua bit adalah 1 | 1010 & 0110 = 0010 |
| OR (|) | 1 di mana mana-mana bit adalah 1 | 1010 | 0110 = 1110 |
| XOR (^) | 1 di mana bit berbeza | 1010 ^ 0110 = 1100 |
| Anjakan kiri (<<) | Shift bit ke kiri, isi dengan 0 (×2ⁿ) | 0011 << 2 = 1100 |
| Anjakan kanan (>>) | Alihkan bit ke kanan (÷2ⁿ, bulatkan ke bawah) | 1100 >> 2 = 0011 |
Operasi bitwise membandingkan atau mengalihkan bit individu — ia tidak membawa antara kedudukan seperti cara penambahan, itulah sebabnya 1010 DAN 0110 mendarat pada 0010 dan bukannya apa-apa yang menyerupai jumlah.
Kesilapan biasa yang perlu dielakkan
- Melayan bitwise DAN/ATAU seolah-olah ia adalah penambahan atau pendaraban aritmetik — ia beroperasi sedikit demi sedikit tanpa membawa.
- Melupakan had julat yang ditandatangani 32-bit — rentetan binari lebih daripada 31 yang akan melimpahi julat yang disokong dan mengembalikan ralat.
- Mengharapkan bitwise BUKAN untuk hanya membalikkan digit yang dicetak — dalam perwakilan pelengkap dua, TIDAK-ing nombor positif menghasilkan negatif, bukan pembalikan digit mudah.
- Dengan mengandaikan pusingan anjakan kanan — ia memotong (lantai) ke arah infiniti negatif untuk nombor negatif, jadi 7 >> 1 = 3, bukan 3.5 atau 4.
Kalkulator berkaitan
- Kalkulator Hex — berfungsi secara langsung dalam perenambelasan dengan penukaran dan operasi yang sama.
- Kalkulator Eksponen — semak kuasa dua di belakang setiap kedudukan bit dan anjakan.
- Kalkulator Nombor Besar — melampaui julat 32-bit dengan aritmetik ketepatan arbitrari.
- Kalkulator Saintifik — mengendalikan matematik am melangkaui penukaran asas nombor.