Главная » Free Pascal » Дополнительный код для целых отрицательных чисел

0

Отрицательные целые числа в компьютере представляются в дополнительном коде. Это означает следующее. Если для хранения чисел отводится n двоичных разрядов, то числа N и –N дополняют друг друга до 2. Предположим, что для хра- нения числа 57 в памяти отведен один байт. Тогда двоичное представление этого

числа  имеет  вид:  00111001.  Его  дополнением  до  28

11000111, который и представляет значение –57.

является  следующий  код:

Выбор дополнительного кода для хранения отрицательных чисел обусловлен спецификой выполнения наиболее распространенных арифметических операций сложения и вычитания. В дополнительном коде эти действия выполняются за ми- нимальное время.

На практике дополнительный код числа –N получают следующим образом. Сначала число N переводят в двоичную систему, затем все разряды полученного двоичного числа заменяют обратными (инвертирование кода) и к результату до- бавляют 1. Опытные программисты используют еще более скоростной алгоритм: при инвертировании разрядов положительного числа младшую значащую единицу не переворачивают и сохраняют все последующие нули.

Программистам полезно помнить, что число

110  в дополнительном коде пред-

ставлено сплошными единицами (для однобайтовых данных — 111111112  или $FF).

Источник: Кетков, Ю. Л., Свободное программное обеспечение. FREE PASCAL для студентов и школьников, Ю. Л. Кетков, А. Ю. Кетков. — СПб.: БХВ-Петербург, 2011. — 384 с.: ил. + CD-ROM — (ИиИКТ)

По теме:

  • Комментарии