Техника

вопрос по информатике. расскажите, своими словами, про дополнительный код (когда нужно представить число с минусом)

Ну вот 8–и битовое представление числа. Каждый бит нумеруется «слева – направо» от 0 до 7.

Седьмой бит – используется для знака числа: 0 – это положительное число, 1 – отрицательное.
Если в разрядах байта с 0 по 6 поместить абсолютное значение числа, а в 7-ом бите установить его знак (0 или 1), то полученное представление числа называется прямым двоичным кодом.
Если в прямом коде число представлено как отрицательное (7-ой бит равен 1), то в числе инвертируются все разряды, кроме знакового (7-го) . Такое представление числа называется обратный двоичный код.
После прибавления к обратному коду 1 получается дополнительный двоичный код.
Использование дополнительного двоичного кода позволяет создавать схемы, выполняющие вычитание, умножение и деление посредством операции сложения.

На примере всё станет понятно:

Пример: Вычесть число 3 из 5 (3 в десятичной = 101 в двоичной, 5 в десятичной = 011 в двоичной) .
Записываем абсолютное значение числа -3 в байте
0 0 0 0 0 0 1 1

В знаковый – седьмой бит - запишем признак отрицательности числа 1 и получим прямой двоичный код числа -3.
1 0 0 0 0 0 1 1

Инвертируем все разряды в числе, кроме знакового (7го)
1 1 1 1 1 1 0 0
Получим обратный двоичный код числа -3.
Прибавим к обратному коду единицу
1 1 1 1 1 1 0 1
Получим дополнительный двоичный код числа -3.
Сложим число 5 и дополнительный двоичный код числа -3

Получили число 010 в двоичной. В десятичной оно равно 2 (проверка: 5-3=2).
Для положительных чисел прямой, обратный и дополнительный коды совпадают. А для отрицательных - нет.

Надеюсь понятно объяснила)
Фёдор Крат
Фёдор Крат
522
Лучший ответ

Похожие вопросы