Правила выполнения арифметических операций в двоичной системе
Сложение. Операция сложения выполняется так же, как и в десятичной системе. Переполнение разряда приводит к появлению единицы в следующем разряде:
0+0=0, 0+1=1, 1+1=10;
+11110011
111011
Вычитание. Поскольку большинство современных компьютеров располагает только одним аппаратным сумматором, с помощью которого реализуются все арифметические операции, вычитание сводится к сложению с отрицательным числом:
15 – 8 = 15 + (–8).
Правила вычитания в двоичной системе. Алгоритм операции вычитания путем сложения дополнительных кодов:
1) преобразовать отрицательное число из формы со знаком в дополнительный код;
2) выполнить операцию двоичного сложения над всеми разрядами, включая знаковый, игнорируя единицу переноса из самого высокого разряда;
3) при равенстве единице знакового разряда суммы (что означает получение отрицательного результата в форме дополнительного кода),необходимо перевести результат в знаковую форму, используя второе свойство дополнений.
13 – 15 = 13 + (–15)
1) –1510 = 10001111 ® 1110000 + 1 ® 1110001 ® 11110001
2)
+00001101
11110001
3) 1111 1110 ® 000 0001 + 1 ® 1000 0010 = –210
Таким образом, при выполнении операций сложения и вычитания арифметико-логическому устройству процессора приходится выполняй, поразрядное сложение с переносом, инвертирование и проверку на знак двоичных чисел.
И тех случаях, когда необходимо произвести арифметические <я над числами больше 127, они размещаются уже не в одном, а в двух и более регистрах.
|
|
Умножение. Если наряду с перечисленными операциями выполнить операции сдвига, то с помощью сумматора можно выполнить и умножение, которое сводится к серии повторных сложений. Если цифра в нулевой позиции множителя равна 1, то множимое переписывается под соответствующими разрядами, умножение на последующие единицы приводят к сдвигу слагаемого влево на одну позицию. Если цифра множителя равна 0, то следующее слагаемое смещается на две позиции влево.
1510 · 1310 = 19510 = 110000112 = 1·27 + 1·26 + 1·21 + 1·2° = 19510
*00001111
00001101
+00001111
00001111.
00011000011
Деление. При выполнении операции деления несколько раз производится операция вычитания. Поэтому предварительно следуем найти код делителя. Деление выполняется путем повторного вычшания и сдвига. Для примера выполним деление числа 195 на 15 или в двоичной системе 110000112 на 11112. Дополнительный код числа 1111 ® 11110001. Поскольку по правилам деления каждое промежуточное делимое должно быть больше делителя, выбираем в качестве первого делимого число 11000, т.е. первые пять разрядов и добавляем слева три нуля, дополняя делимое до 8 разрядов. Затем производим сложение его с дополнительным кодом делимого и заносим в результат единицу. Если следующее делимое после сноса очередной цифры будет меньше делителя, то в результат заносится нуль и в делимое сносится еще одна цифра из исходного делимого.
|
|
Делимое 111 на третьем шаге после сложения и сноски очередного разряда меньше делителя, поэтому записываем в результат 0 и сносим еще один разряд из оставшихся в делимом. После третьего шага результат сложения равен 0, деление закончено.
Ответ: 000011012 = 1310.
Дата добавления: 2015-12-17; просмотров: 20; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!