Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Системы счисления.pdf
Скачиваний:
43
Добавлен:
03.06.2015
Размер:
235.97 Кб
Скачать

Представление чисел в прямом коде

Целые числа в ЭВМ представляют в виде прямого, обратного и дополнительного кодов

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

Например, число +57 в прямом коде в 8 разрядной машинной сетке будет иметь вид:

0

0

1

1

1

0

0

1

 

 

 

 

 

 

 

 

7

6

5

4

3

2

1

0

 

 

 

 

 

 

 

 

Представление чисел в обратном

идополнительном кодах

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

Положительный нуль

(+0)

0

0

0

0

0

0

0

0

 

 

 

 

 

 

 

 

7

6

5

4

3

2

1

0

 

 

 

 

 

 

 

 

Отрицательный нуль

(-0)

1

0

0

0

0

0

0

0

 

 

 

 

 

 

 

 

7

6

5

4

3

2

1

0

 

 

 

 

 

 

 

 

Представление чисел в обратном и дополнительном кодах

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

Например, при сложении пришлось бы определять знаки обоих операндов и знак результата. При

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

Представление чисел в обратном и дополнительном кодах

Отрицательные целые числа представляют в ЭВМ в дополнительном коде. При таком представлении имеется единственное изображение нуля, а все арифметические операции сводятся к поразрядному сложению и сдвигу.

Для положительных чисел обратный и дополнительный коды совпадают с прямым

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