Калькулятор двоичного дополнительного кода Преобразование двоичной и десятичной систем, поддержка знаковых чисел и дополнений
Калькулятор дополнительного кода: описание инструмента
Бесплатный онлайн-инструмент для перевода чисел между двоичной и десятичной системами счисления, вычисления дополнения до 1 и дополнения до 2, а также обратного преобразования из дополнительного кода в исходное число. Поддерживаются положительные и отрицательные целые числа разрядностью 8, 16, 32 и 64 бит.
Основные функции
- Десятичное → Двоичное: перевод целых чисел со знаком и без знака
- Двоичное → Десятичное: интерпретация как знакового, так и беззнакового числа
- Дополнение до 1: побитовая инверсия (0↔1)
- Дополнение до 2: дополнение до 1 плюс 1, стандартное представление отрицательных чисел в современных процессорах
- Обратное преобразование: восстановление исходного двоичного числа из дополнительного кода
- Разрядность: 8, 16, 32, 64 бита
Области применения
- Студенты технических специальностей: подготовка к экзаменам по архитектуре ЭВМ и цифровым системам, проверка домашних заданий
- Разработчики на C/C++ и Rust: отладка побитовых операций, проверка целочисленного переполнения, работа с типами
int8_t,int16_t,int32_t - Java-разработчики: все целочисленные типы Java используют дополнительный код; инструмент помогает отлаживать операции над битами
- Python-разработчики: проверка масок и битовых сдвигов, понимание результатов оператора
~ - Проектировщики цифровых схем: симуляция работы сумматора и АЛУ на уровне битового представления чисел
Руководство по использованию (пошагово)
- Выберите направление преобразования: «Десятичное → Двоичное» или «Двоичное → Десятичное»
- Введите число в поле ввода (для отрицательных десятичных чисел используйте знак минус)
- Укажите разрядность: 8, 16, 32 или 64 бита
- Результаты отображаются мгновенно: беззнаковое двоичное, дополнение до 1, дополнение до 2
- Нажмите кнопку «Копировать», чтобы вставить результат в код или документ
Что такое дополнительный код?
В информатике дополнительный код (дополнение до 2, two's complement) — это стандартный способ представления знаковых целых чисел во всех современных процессорах. Он позволяет выполнять сложение и вычитание одной и той же аппаратной схемой.
Дополнение до 1: инвертируются все биты. Пример: 00001010 (+10) → 11110101
Дополнение до 2: дополнение до 1 + 1. Пример: 11110101 + 1 = 11110110, что соответствует −10 в 8-битном представлении.
Подробнее: Дополнительный код — Википедия
Полезные советы
- Диапазоны значений: 8 бит (−128…+127), 16 бит (−32 768…+32 767), 32 бита (−2 147 483 648…+2 147 483 647).
- При переполнении инструмент выведет предупреждение — увеличьте разрядность.
- В языке C оператор
~xвычисляет дополнение до 1; выражение-xдаёт дополнение до 2. - В Python отрицательные числа хранятся с произвольной точностью, но внутренне используют концепцию дополнительного кода.
Часто задаваемые вопросы (FAQ)
- Инструмент бесплатный?
Да, полностью бесплатный, без регистрации и ограничений. - Как перевести отрицательное десятичное число в двоичное?
Просто введите число со знаком минус — инструмент автоматически покажет его представление в дополнительном коде. - Чем дополнение до 2 отличается от представления с знаковым битом?
В представлении «знак-модуль» старший бит обозначает знак, остальные — модуль. В дополнительном коде все биты участвуют в вычислениях, что упрощает аппаратную арифметику и исключает два представления нуля. - Какая максимальная разрядность поддерживается?
До 64 бит включительно. - Как восстановить исходное число из дополнительного кода?
Введите двоичное число в поле «Дополнение → исходное двоичное» — инструмент автоматически вычислит обратное преобразование.
Методы преобразования десятичной в двоичную систему для различных языков программирования
| Java | Integer.toBinaryString(decimal_number) |
| JavaScript | let binary = decimal_number.toString(2); |
| Microsoft .NET / C# | string binary = Convert.ToString(decimal_number, 2); |
| Python | binary = bin(decimal_number)[2:] |
| Ruby | binary = decimal_number.to_s(2) |
| Go | import strconv binary := strconv.FormatInt(decimal_number, 2) |
Вам также может понадобиться