Представление целых отрицательных чисел

Формат хранения целых чисел со знаком аналогичен формату хранения двоичного числа без знака (см. рис. 8.1), за исключением того, что старший разряд числа отводится для хранения знака числа - s. При хранении положительного числа знаковый разряд принимает значение 0, а при хранении отрицательного числа – 1. Целое число со знаком может занимать в памяти 1, 2, 4 и 8 байтов. Формат хранения целого двоичного числа со знаком, занимающего в памяти два байта и принимающего значения от –32768 до 32767, представлен на рис. 5.3.

S b b b b b b b b b b b b b b B

 

Рис. 5.3

Для хранения целых отрицательных чисел используются обратный и дополнительный коды.

Рассмотрим целое отрицательное n-разрядное двоичное число:

,

где an-1, ..., a1, а0 - цифры или соответствующие веса цифр: 0 и 1 разрядов целого отрицательного n разрядного двоичного числа; -an-1...а1a0 - запись целого отрицательного n разрядного двоичного числа; п-1,..., 1, 0 - номера разрядов целого отрицательного n разрядного двоичного числа; S -знак суммы; i = 0, n-1 - нижний и верхний пределы суммирования; ai´2i - весовой коэффициент i-го разряда (i = 0, n - 1).

Абсолютная величина целого отрицательного n разрядного двоичного числа равна:

.

Запись числа в форме: zan-1...а1a0 будем называть прямым кодом целого числа со знаком. Через z обозначен знак числа («-» или «+»).

Для записи числа в обратном и дополнительном кодах вводится дополнительный разряд с номером n с отрицательным весовым коэффициентом: -C, C > 0.