Выполнение арифметических операций

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

Сложение двоичных чисел.

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

Сложение трех одноразрядных двоичных чисел производится по правилам двоичной арифметики следующим образом:

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

В качестве примера произведем сложение двух чисел 4310 и 2910 в двоичном коде.

Сначала десятичные числа 4310 и 2910 представляем в двоичном коде: 4310 = 000111012; 2910 = 000111012.

Теперь выполняем операцию сложения:

Таким образом,

Вычитание двоичных чисел. Прямое вычитание двух одноразрядных двоичных чисел производится по правилам двоичной арифметики следующим образом:

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

В качестве примера произведем операцию вычитания 4310 - 2910 в двоичном коде:

Таким образом, 4310 - 2910 = 000111012 - 000111012 = 000011102 = = 1410.

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

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

Коррекция производится следующим образом. Если в результате операции сложения число, полученное в тетраде, больше 910, или произошел перенос из старшего разряда (или между тетрадами), то к данной тетраде следует прибавить число 6]0 или 01102.

Умножение двоичных чисел. Умножение двоичных цифр производится в соответствии со следующими выражениями:

Умножение двоичных чисел выполняется последовательно путем вычисления частичных произведений и их последующего суммирования. В соответствии с правилами умножения частичное произведение равно нулю, если в соответствующем разряде множителя находится ноль. Если в разряде находится единица, то частичное произведение равно множимому, сдвинутому на соответствующее число разрядов влево. Количество частичных произведений будет равно числу единиц в множителе. При суммировании частичных произведений получается результат умножения. Таким образом, умножение выполняется с помощью операций сложения и сдвига.

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

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

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

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

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >