Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PRINT.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1.1 Mб
Скачать

21. Прямые, обратные, дополнительные коды чисел и их использование в компьютерах

Прямым кодом называется код (последовательность цифр), который получается при формировании числа в заданной системе счисления.

Обратным кодом называется код, дополняющий прямой код до кода максимально возможного значения числа в данной системе счисления с тем же количеством разрядов.

Дополнительным кодом называется код, дополняющий прямой код до кода числа, равного весу единицы следующего за старшим разряда.

999 - 531 = 468 → обратный код десятичного числа 531.

1000 – 531 = 469 → дополнительный код десятичного числа 531.

FFF – D54 =2AB → обратный код шестнадцатеричного числа D54.

1000 – D54 = 2AС → дополнительный код шестнадцатеричного числа D54.

11111111 – 10011101 = 01100010 → обратный код двоичного числа 10011101.

Обратный код двоичного числа можно получить, заменив все единицы прямого кода нулями, а нули - единицами.

100000000 – 10011101 = 01100011 → дополнительный код двоичного числа 10011101.

Дополнительный код числа в любой системе счисления можно получить, прибавив к его обратному коду единицу в младший разряд.

В вычислительной технике обратные и дополнительные коды используются при представлении отрицательных чисел, что существенно облегчает осуществление арифметических операций со знаковыми числами. Процесс преобразования прямых кодов в обратные в самих компьютерах, при двоичной системе счисления, весьма прост. Обратный код просто снимается с инверсных выходов триггеров регистров, хранящего прямой код числа. Однако, с другой стороны, использование обратных кодов, при осуществлении арифметических операций требует сумматоров с циклическим переносом, т.е. с цепью переноса единицы переполнения (переноса из самого старшего разряда) в младший разряд и суммирования с ним.

Преобразование прямых кодов чисел в дополнительные несколько более сложен, так как при прибавлении 1 к значению младшего разряда числа могут возникнуть переносы, в худшем случае, во всех разрядах данного числа. А это может существенно увеличить время преобразования и требует регистров, оборудованных цепями переноса. Однако система кодирования чисел в дополнительных кодах не требует использования сумматоров с циклическим переносом, и в целом оказалась более эффективной с точки зрения выполнения операций сложения и вычитания. Поэтому в современных компьютерах для представления отрицательных чисел используются, как правило, дополнительные коды.

22. Представление целых чисел без знака и со знаком

Целые числа могут быть числами без знака (например: адреса команд и данных, число циклов, число сдвигов, число элементов строк, число строк и столбцов матриц и т.п.) и со знаком.

  1. Числа без знака представляются в компьютерах прямым кодом.

  1. Числа со знаком представляются кодом, в котором первый разряд кода числа является символом знака: 0 – положительного числа, 1 – отрицательного числа.

При этом все отрицательные числа представляются в дополнительном коде.

Поэтому в первом примере, представленное число будет иметь значение равное (в десятичной форме представления): 183, а во втором: -73.

При непосредственном выполнении арифметических операций в компьютерах часто используются так называемые модифицированные коды. Модифицированный код числа отличается от обычного только тем, что для представления знака числа используется не один, а два старших разряда двоичного кода числа. В этом случае упрощается определение переполнения разрядной сетки результата при операциях со знаковыми числами. При отсутствии переполнения разрядной сетки оба знаковых разряда должны иметь одинаковые значения (нули при положительном результате, и единицы – при отрицательном). Появление разных значений знаковых разрядов означает возникновение переполнения разрядной сетки.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]