0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 |
Рис. 1.10. Представление числа -6
в 4-битовом дополнительном коде
Исходя из свойств представления чисел в двоичном дополнительном коде можно представить алгоритм их декодирования.
Если знаковый бит записи равен 0, то эта последовательность двоичной записи числа.
Например, 0110 является представлением числа 6, потому что 110 является двоичной записью шести.
Если знаковый разряд равен 1, значит, перед нами отрицательное число и надо только найти его модуль. Переписываем исходную последовательность справа налево, пока не будет переписана 1, затем переписываем оставшиеся биты, дополняя их. И, наконец, расшифровываем полученную последовательность, как если бы она была двоичной записью числа.
Например, переведём последовательность 1010 в десятичную систему счисления. Сначала определяем - перед нами отрицательное число, так как знаковый разряд равен 1. Следовательно, переписываем запись как 0110. Определяем, что она является представлением числа 6, и делаем вывод о том, что исходный набор битов является представлением числа -6.