Алгебраическое представление двоичных чисел
Знак числа кодируется двоичной цифрой, при этом код 0 означает + (плюс), а код 1 означает – (минус). Для алгебраического представления чисел, то есть для представления чисел с учетом их знака, в вычислительных машинах используются специальные коды: · прямой код числа · обратный код числа · дополнительный код числа. При этом два последних кода позволяют заменить неудобную для компьютера операцию вычитания на операцию сложения с отрицательным числом. Дополнительный код обеспечивает более быстрое выполнение операций, поэтому в компьютере применяется чаще всего он.
Пусть имеется число
1. Прямой код числа N – [N]пр. Если Если Если
Операцию вычитания в этом коде нельзя заменить операцией сложения с отрицательным числом, поэтому возникают сложности, связанные с заемом значений из старших разрядов уменьшаемого числа. В связи с эти прямой код в компьютере почти не применяется.
2. Обратный код числа N – [N]обр. Обозначение Если Если Если
Для того чтобы получить обратный код отрицательного числа, необходимо все значащие цифры этого числа инвертировать, т. е. в знаковой разряде поставить 1, во всех значащих разрядах нули заменить единицами, а единицы – нулями.
ПРИМЕР: N= 0,1011; [N]обр=0,1011. N= - 0,1011; [N]обр=1,0100
3. Дополнительный код числа N – [N]доп
Если Если
Для того, чтобы получить дополнительный код отрицательного числа, необходимо все его цифры инвертировать (в знаковом разряде поставить единицу, во всех значащих разрядах нули заменить единицами, а единицы нулями) и затем к младшему разряду прибавить единицу. В случае возникновения переноса из первого после запятой разряда в знаковый разряд, к числу следует прибавить единицу в младший разряд.
ПРИМЕР: N= 0,1011; [N]доп=0,1011. N= - 0,1100; [N]доп=1,0011+0,0001=1,0100 N= - 0,0000; [N]доп=1,1111+0,0001=10,0000=0,0000 Неоднозначности в изображении 0 нет.
Эмпирическое правило для получения дополнительного кода отрицательного числа : необходимо все символы этого числа инвертировать, кроме последней (младшей) единицы и тех нулей, которые за ней следуют.
|