ТОР 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ок. Необходимо отметить, что для положительных чисел прямой, обратный и дополнительный коды совпадают, а для отрицательных - нет. Обычно отрицательные десятичные числа при вводе в машину автоматически преобразуются в обратный или дополнительный двоичный код и в таком виде хранятся, перемещаются и участвуют в операциях. При выводе таких чисел из машины происходит обратное преобразование в отрицательные десятичные числа. Как известно все математические операции в процессоре сводятся к операциям сложения, сдвига кода и логическим операциям. Использование дополнительного и обратного кодов позволяет заменить вычитание, умножение, деление на используемые операции.
Не нашли, что искали? Воспользуйтесь поиском:
|