О двоичном конвертере
Двоичный конвертер — удобный инструмент для быстрых преобразований чисел. С его помощью можно переводить десятичные числа в двоичную запись, включая поддержку отрицательных чисел через представления one's complement и two's complement.
Что такое двоичная система?
Обычно мы используем десятичную систему счисления: десять цифр от 0 до 9. Если записать число, например 345, то каждая следующая цифра соответствует своей степени десяти. То есть:
- Цифра 5 соответствует 10⁰ (5 is equal to 5×100)
- Цифра 4 соответствует 10¹ (40 is equal to 4×101)
- Цифра 3 соответствует 10² (300 is equal to 3×102)
В двоичной системе доступны только две цифры: 0 и 1. Поэтому разряды любого числа соответствуют степеням 2, а не степеням 10.
Перевод из десятичной в двоичную
Для перевода числа из десятичной системы в двоичную можно использовать простой и эффективный алгоритм:
- Возьмите исходное число. Разделите его на 2.
- Запишите остаток. Он будет равен 0 или 1. Это будет последняя (самая правая) цифра двоичного числа.
- Возьмите целую часть (частное). Это ваше новое “исходное число”.
- Повторяйте шаги выше, каждый раз дописывая остаток слева от уже полученных цифр.
Пример: перевод 19 в двоичную систему
- 19/2 = 9, remainder 1
- 9/2 = 4, remainder 1
- 4/2 = 2, remainder 0
- 2/2 = 1, remainder 0
- 1/2 = 0, remainder 1
Читаем снизу вверх: 19 = 10011 в двоичной системе
Перевод из двоичной в десятичную
Например, для двоичного числа 110011 шаги будут такими:
- 1×2 = 2
- (2+1)×2 = 6
- (6+0)×2 = 12
- (12+0)×2 = 24
- (24+1)×2 = 50
- 50+1 = 51
110011 = 51 in decimal
Как представить отрицательные числа
В десятичной системе мы просто ставим минус перед числом. Но в двоичной записи “минуса” как отдельного символа нет. Тогда как представлять отрицательные числа в двоичной системе?
Общая идея — знаковое представление: первый бит показывает знак числа (0 — положительное, 1 — отрицательное). На практике распространены два варианта:
One's Complement
One's complement получают, инвертируя все биты двоичной записи соответствующего положительного числа.
Two's Complement
Two's complement получают, инвертируя все биты записи положительного числа и прибавляя 1.
Пример: перевод -87 в двоичную (8-bit)
- Найдите двоичную запись положительного числа 87:
0101 0111 - Инвертируйте биты:
1010 1000(One's complement) - Прибавьте 1:
1010 1001(Two's complement)
Как пользоваться двоичным конвертером
- Выберите число бит: 8, 16, 32 или 64. Чем больше бит, тем шире диапазон значений.
- Введите десятичное число: оно может быть положительным или отрицательным. Калькулятор покажет допустимый диапазон для выбранной разрядности.
- Нажмите Calculate: калькулятор покажет:
- двоичную запись положительного значения
- one's complement (для отрицательных)
- two's complement (для отрицательных)
- шестнадцатеричную и восьмеричную записи
Диапазоны для разных разрядностей
| Bits | Минимум | Максимум | Где используется |
|---|---|---|---|
| 8-bit | -128 | 127 | Byte, небольшие целые |
| 16-bit | -32,768 | 32,767 | Short integers, символы Unicode |
| 32-bit | -2,147,483,648 | 2,147,483,647 | Стандартные целые, адреса IPv4 |
| 64-bit | -9,223,372,036,854,775,808 | 9,223,372,036,854,775,807 | Long integers, таймстампы |
Практическое применение
- Программирование: как компьютеры хранят отрицательные числа
- Цифровая электроника: проектирование арифметических схем
- Вычитание: two's complement позволяет вычитать эффективно
- Типы данных: выбор подходящих целочисленных типов
- Отладка: анализ дампов памяти и двоичных данных