Представление числовой информации в вычислительных системах. Прямой, обратный и дополнительный двоичные коды
В вычислительных системах числовая информация представляется в двоичной системе счисления, то есть с помощью двух цифр: 0 и 1.
Минимальная единица информации — бит. Восемь бит образуют байт.
Например, десятичное число 13 в двоичной системе:
Для представления положительных и отрицательных целых чисел применяют прямой, обратный и дополнительный коды.
Прямой код
В прямом коде старший бит используется как знаковый:
0 — положительное число;
1 — отрицательное число.
Остальные биты содержат модуль числа.
Например, для 8-разрядного представления:
Недостаток прямого кода — наличие двух вариантов нуля: положительного и отрицательного, а также неудобство выполнения арифметических операций.
Обратный код
Для положительного числа обратный код совпадает с прямым.
Для отрицательного числа:
записывают двоичный код положительного числа;
все биты инвертируют: 0 заменяют на 1, а 1 — на 0.
Для числа +5:
00000101Обратный код числа −5:
11111010В обратном коде также существуют два представления нуля.
Дополнительный код
Дополнительный код наиболее широко применяется в современных вычислительных системах.
Для положительных чисел он совпадает с обычным двоичным представлением.
Чтобы получить дополнительный код отрицательного числа:
записать двоичный код положительного числа;
инвертировать все биты;
прибавить единицу.
Например, для −5:
+5: 00000101 Инверсия: 11111010 Прибавляем 1: 11111011Следовательно:
в 8-разрядном дополнительном коде.
Почему применяется дополнительный код
Дополнительный код удобен тем, что:
сложение положительных и отрицательных чисел выполняется одной и той же схемой;
имеется только одно представление нуля;
упрощается устройство арифметико-логического блока процессора.
Для 8-разрядного числа в дополнительном коде диапазон составляет:
Сравнение кодов для числа −5
| Вид кода | 8-разрядное представление |
|---|---|
| Прямой | 10000101 |
| Обратный | 11111010 |
| Дополнительный | 11111011 |
Кратко для ответа по билету
Числовая информация в вычислительных системах представляется в двоичном виде с помощью нулей и единиц. Для отрицательных чисел применяют прямой, обратный и дополнительный коды. В прямом коде старший бит задаёт знак числа. Обратный код отрицательного числа получают инверсией битов положительного числа. Дополнительный код получают инверсией битов и прибавлением единицы. В современных компьютерах и микроконтроллерах чаще всего используется именно дополнительный код.