Подключиться через MCP →

Введите расчет

Математическая формула

Реклама

Результатов

Обратный код
250
111110102 (8-bit)
Исходное число (десятичное) 5
Исходное число (двоичное) 00000101
Обратный код (двоичный) 11111010
Обратный код (десятичный) 250
Разрядность 8

Что такое обратный код?

Обратный код (по-английски — one's complement) двоичного числа получается инвертированием каждого бита: все нули превращаются в единицы, а все единицы — в нули. Поскольку результат напрямую зависит от количества используемых битов, нужно заранее выбрать разрядность — например, 4, 8, 16 или 32 бита. Такое представление применялось в ранних ЭВМ для кодирования знаковых целых чисел и до сих пор остаётся важным при изучении двоичной арифметики и контрольных сумм для обнаружения ошибок.

Восьмибитное двоичное значение с инвертированным каждым битом для получения обратного кода
Обратный код инвертирует каждый бит в пределах выбранной разрядности.

Как пользоваться калькулятором

Введите неотрицательное десятичное число, выберите разрядность — и калькулятор обрежет число до заданного количества битов, инвертирует все биты и покажет результат и в двоичном, и в десятичном виде. Если число не помещается в выбранную разрядность, перед инвертированием сохраняются только младшие биты, укладывающиеся в эту ширину.

Разбор формулы

Расчёт ведётся по формуле $$\text{Result} = \left(\sim\left(\text{Number} \,\&\, M\right)\right) \,\&\, M, \quad M = 2^{\text{Width}} - 1$$ Выражение \(2^{w} - 1\) — это маска из \(w\) единиц (для 8 бит это \(11111111 = 255\)). Побитовое НЕ (~) инвертирует каждый бит числа \(n\), а маска отбрасывает все биты выше выбранной разрядности, чтобы ответ оставался в допустимом диапазоне.

Четыре полосы разрядности на 4, 8, 16 и 32 ячейки, показанные с возрастающей длиной
Разрядность определяет, сколько битов будет инвертировано.

Пример с расчётом

Возьмём число 5 при разрядности 8 бит. В двоичном виде \(5 = 00000101\). Инвертируем каждый бит и получаем \(11111010\), что равно 250 в десятичной системе. Значит, обратный код числа 5 в 8 битах — это 250. А при разрядности 4 бита \(5 = 0101\), после инвертирования — \(1010 = 10\).

Частые вопросы

Чем обратный код отличается от дополнительного кода? Дополнительный код (two's complement) — это обратный код плюс единица. Такой приём убирает «двойное» представление нуля.

Чему равен обратный код нуля? При 8 битах это \(11111111 = 255\) — все биты становятся единицами.

Почему ответ меняется при разной разрядности? Инвертирование зависит от количества битов: чем больше разрядность, тем больше добавляется ведущих единиц, и тем больше получается десятичное значение.

Последнее обновление: