Intermediate

Калькулятор дополнения до двух

Конвертируйте между знаковыми десятичными целыми числами и их двоичным и шестнадцатеричным представлениями в дополнении до двух фиксированной разрядности.

Мода

Enter a signed decimal integer.

Bit width

Signed decimal
-42

Value interpreted from the bit pattern

Two’s-complement binary
1101 0110
Signed decimal
-42
Hexadecimal
0xD6
Bit width
8-bit
Set bits
5
Representable range
-128 .. 127
-128-96.1-64.3-32.4-0.531.463.395.1127Decimal value within the representable range
Результаты являются ориентировочными и предназначены только для общего ознакомления, а не для профессиональных рекомендаций — всегда самостоятельно проверяйте важные результаты, прежде чем полагаться на них. Читать полный отказ от ответственности.
Быстрый ответ

Как работает этот калькулятор?

Калькулятор дополнения до двух переводит знаковое десятичное целое число в двоичное и шестнадцатеричное представление фиксированной разрядности или декодирует битовый шаблон обратно в десятичное. Неотрицательные значения отображаются напрямую; отрицательные хранятся как v + 2^w. При разрядности w диапазон составляет от −2^(w−1) до 2^(w−1) − 1, а старший бит указывает знак.

Формула
Encode: pattern = v (if v ≥ 0) or v + 2^w (if v < 0), kept to w bits. Decode: value = u − 2^w if MSB = 1, else u. Range = −2^(w−1) .. 2^(w−1) − 1
How this is calculated

Дополнение до двух — стандартный способ хранения знаковых целых чисел в фиксированном числе бит (w). Переключатель «Mode» выбирает направление: «Decimal → Binary» принимает знаковое десятичное число, а «Binary → Decimal» принимает необработанный битовый шаблон. Поле «Value» принимает либо знаковое десятичное целое число, либо строку из 0 и 1, а «Bit width» задаёт w равным 8, 16, 32 или 64.

Чтобы закодировать десятичное v, неотрицательные значения записываются напрямую в двоичном виде и дополняются нулями до w бит. Отрицательные значения кодируются как v + 2^w, что эквивалентно инвертированию битов |v| − 1 с последующим прибавлением единицы; результат усекается до w бит. Чтобы декодировать w-битное беззнаковое значение u, старший бит является знаковым: если он равен 1, истинное значение равно u − 2^w, иначе значение просто равно u. Шестнадцатеричный вывод — это тот же беззнаковый битовый шаблон, записанный по основанию 16.

Поле разрядности w позволяет представить целые числа от −2^(w−1) до 2^(w−1) − 1; калькулятор отклоняет десятичные числа вне этого диапазона и битовые шаблоны длиннее w. Поскольку 64-битные значения превышают безопасный целочисленный предел JavaScript, вычисления выполняются с BigInt для точного двоичного и шестнадцатеричного вывода, хотя при отображении очень больших 64-битных значений заголовочная карточка с десятичным числом может округляться.

Часто задаваемые вопросы

В дополнении до двух отрицательное значение хранится как v + 2^w, поэтому −1 в 8-битном представлении становится 0xFF, а в 32-битном — 0xFFFFFFFF. Ведущие единичные биты обозначают знак, а не огромную положительную величину.

При разрядности w представимый знаковый диапазон составляет от −2^(w−1) до 2^(w−1) − 1. Для 8 бит это от −128 до 127, для 16 бит — от −32768 до 32767. Значения вне этого диапазона закодировать невозможно.

Посмотрите на старший (крайний левый) бит. Если он равен 1, число отрицательное и равно u − 2^w; если 0, число неотрицательное и равно u напрямую.

Также известен как

дополнительный код
знаковое двоичное
дополнительный код числа
отрицательное двоичное
кодирование чисел со знаком
two's complement

APA

TG we-Calculate Editorial Team. (2026). Калькулятор дополнения до двух [Online calculator]. TG we-Calculate. https://we-calculate.com/ru/calculator/twos-complement-calculator

Chicago

TG we-Calculate Editorial Team. "Калькулятор дополнения до двух." TG we-Calculate. 2026. https://we-calculate.com/ru/calculator/twos-complement-calculator.

IEEE

TG we-Calculate Editorial Team, "Калькулятор дополнения до двух," TG we-Calculate, 2026. [Online]. Available: https://we-calculate.com/ru/calculator/twos-complement-calculator

BibTeX

@misc{wecalculate_twos_complement_calculator, title = {Калькулятор дополнения до двух}, author = {{TG we-Calculate Editorial Team}}, howpublished = {\url{https://we-calculate.com/ru/calculator/twos-complement-calculator}}, year = {2026}, note = {TG we-Calculate} }

Этот калькулятор вам помог?

Похожие калькуляторы