Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Машинные коды: прямой, обратный, дополнительный.




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

- представление абсолютной величины и знака отдельно (или прямой код);

- представление отрицательных чисел в дополнительном коде;

- представление отрицательных чисел в обратном коде.

В прямом коде старший разряд кодирует знак числа, а остальные – модуль числа. Условно принято знак “+” обозначать 0 и знак “-” - 1. Например, число +10 в прямом коде будет представляться как 0½1010пк, а -10 ® 1½1010пк.

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

Пример: представить число -10 в дополнительном коде.

Двоичный эквивалент +10 = 0½1010пк.

Дополнительный код получается следующим образом:

1½0101

+ 1

1½0110дк = -10

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

Пример: представить число -50 в дополнительном коде.

Двоичный эквивалент +50 = 0½0110010пк.

Дополнительный код получается следующим образом: 1½1001110дк, а по первому правилу:

1½1001101

+ 1

1½1001110дк = -50

Упражнение: представить число -33 в дополнительном коде. Должно получиться 1|1011111дк.

Получить дополнительный код отрицательного числа Х можно по третьему правилу: Хдк=2n-|X|, где n – длина машинного слова.

Пример: представить число -50 в дополнительном коде (где n =8).

2n=28=64=1000000002

|X|=50=1100102

- 110010

11001110дк

Из правил можно сделать вывод, что положительные числа в случае увеличения числа разрядов дополняются слева нулями, а отрицательные – единицами.

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

Пример, возьмем то же самое число -10. Двоичный эквивалент +10 = 0½1010пк, откуда получаем обратный код -10: 1½0101ок.

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

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

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

 


 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных