Короткий ответ
Двоичная система имеет основание 2: каждая цифра (бит) равна 0 или 1, а каждая позиция представляет степень двойки. 1010 в двоичном формате равно 1×8 + 0×4 + 1×2 + 0×1 = 10 в десятичном виде. Этот калькулятор обрабатывает двоичную арифметику, поразрядную логику (И, ИЛИ, исключающее ИЛИ, НЕ), сдвиг битов и мгновенное преобразование в десятичные, шестнадцатеричные и восьмеричные числа.
Ключевые выводы
- Значения ограничены диапазоном 32-битных целых чисел со знаком (от -2 147 483 648 до 2 147 483 647) — двоичные строки за пределами этого диапазона отклоняются, а не усекаются автоматически.
- Побитовое И/ИЛИ/ИСКЛЮЧАЮЩЕЕ сравнение чисел побитовое и не то же самое, что арифметическое сложение или умножение: 1010 И 0110 равно 0010, а не 16.
- Сдвиг влево на n эквивалентен умножению на 2ⁿ; сдвиг вправо на n эквивалентен целочисленному (напольному) делению на 2ⁿ.
- Каждая шестнадцатеричная цифра соответствует ровно 4 двоичным битам, что делает преобразование шестнадцатеричного числа в двоичное механическим, если вы знаете 16 четырехбитных шаблонов.
Как работает двоичное разрядное значение
Точно так же, как десятичное значение использует степень десяти, двоичное значение использует степень двойки. Чтение 8-битного числа 10110101 справа налево:
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|
| 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 |
Сложите значения позиций, где есть 1: 128 + 32 + 16 + 4 + 1 = 181. Таким образом, двоичное число 10110101 равно десятичному 181.
Побитовые операции против арифметических операций
| Операция | Что он делает | Пример |
|---|---|---|
| AND (&) | 1 только тогда, когда оба бита равны 1 | 1010 & 0110 = 0010 |
| OR (|) | 1, где любой бит равен 1 | 1010 | 0110 = 1110 |
| XOR (^) | 1, где биты различаются | 1010 ^ 0110 = 1100 |
| Сдвиг влево (<<) | Сдвинуть биты влево, заполнить 0 (×2ⁿ). | 0011 << 2 = 1100 |
| Правый сдвиг (>>) | Сдвиг битов вправо (÷2ⁿ, округляется вниз) | 1100 >> 2 = 0011 |
Побитовые операции сравнивают или сдвигают отдельные биты — они не переносят между позициями, как это происходит при сложении, поэтому 1010 И 0110 приземляются на 0010, а не на чем-то, напоминающем сумму.
Распространенные ошибки, которых следует избегать
- Побитовое И/ИЛИ рассматривается как арифметическое сложение или умножение — они работают побитно, без переноса.
- Если забыть о 32-битном ограничении диапазона со знаком — двоичная строка, содержащая более 31 единицы, выйдет за пределы поддерживаемого диапазона и вернет ошибку.
- Ожидается, что побитовое НЕ просто перевернет напечатанные цифры - в представлении с дополнением до двух НЕ-положительное число дает отрицательное, а не простое переворачивание цифр.
- Предполагая округление вправо — он усекает (этажи) в сторону отрицательной бесконечности для отрицательных чисел, поэтому 7 >> 1 = 3, а не 3,5 или 4.
Сопутствующие калькуляторы
- Шестнадцатеричный калькулятор — работать непосредственно в шестнадцатеричном формате с теми же преобразованиями и операциями.
- Калькулятор экспоненты — проверьте степень двойки за каждой битовой позицией и сдвигом.
- Калькулятор больших чисел — выйти за пределы 32-битного диапазона с помощью арифметики произвольной точности.
- Научный калькулятор — обрабатывать общую математику, выходящую за рамки преобразований в числовую систему.