ПОИСК Статьи Чертежи Таблицы Выполнение операций из "Экономическая информатика и вычислительная техника Издание 2 " Арифметические операции в двоичной системе счисления. [c.54] Все арифметические операции над двоичными числами в ЭВМ можно свести к двум операциям сложению и сдвигу. Это дает возможность выполнять все четыре арифметических действия и ряд логических операций на одних и тех же элементах. [c.54] Рассмотрим правила выполнения арифметических операций в двоичной системе счисления (табл. 2.2). [c.55] При двоичном сложении чисел 1 + 1 возникает разряд переноса, а разряд суммы равен 0. При сложении многоразрядных двоичных чисел следует применять правило табл. 2.2 многократно, начиная с пары младших разрядов по направлению к старшей, так же как при десятичном сложении. После сложения пары младших цифр и получения значения младшего разряда суммы складывается следующая пара цифр с учетом переноса из младшего разряда. Затем этот процесс повторяется. [c.55] При вычйтании большей цифры из меньщей возникает необходимость заема 1 из более старшего разряда. Бели значение разряда равно 1, то после заема значение этого разряда станет равным 0. Однако если старший разряд (п + 1) уменьшаемого равен О, то происходит заем из следующего старшего разряда (п + 2), а значение первого старшего разряда (п + 1) становится единичным. Вычитание продолжается. [c.55] Пример. Вычесть двоичное число В из числа А. [c.55] Умножение двух двоичных многоразрядных цифр выполняется аналогично умножению десятичных чисел. Сначала вычисляются частные произведения множимого на каждый разряд множителя. Если умножение начинается со старшего разряда множителя, то каждое следующее частное произведение сдвигается на один разряд вправо по отношению к произведению, полученному ранее. Затем полученные частные произведения складываются по правилам двоичного сложения, причем суммирование частных произведений выполняется последовательно. [c.56] Пример. Умножить двоичное число А на число В. [c.56] Деление в двоичной системе счисления выполняется так же, как и в десятичной системе, путем подбора очередной цифры частного, которая затем умножается на делитель. Полученное произведение вычитается из делимого для проверки правильности подобранной цифры. Затем процесс повторяется до тех пор, пока остаток не окажется меньше делителя. [c.56] Для выполнения арифметических операций в АЛУ ЭВМ используют специальные коды, позволяющие заменить операцию вычитание операцией сложение прямой, обратный и дополнительный. [c.56] Прямой, обратный и дополнительный коды положительного двоичного числа совпадают с самим числом, причем значение знакового разряда принимается равным нулю. Например, число +0,1001101 в прямом, обратном и дополнительном кодах записывается в виде 0,1001101. [c.56] Прямой код отрицательного числа - это само двоичное число, причем в знаковом разряде фиксируется единица. Например, для числа -0,1001101 прямой код соответствует значению 1,1001101. [c.56] Обратный код отрицательного числа образуется заменой единиц мантиссы числа нулями, а нулей - единицами, код знака при этом сохраняется, т.е. остается единичным. Например, для числа -0,1001101 обратный код будет 1,0110010. [c.56] Дополнительный код отрицательного числа образуется как результат суммирования обратного кода числа с единицей младшего разряда, а в знаковом разряде содержится единица. Например, для числа -0,1001100 дополнительным кодом является 1,0110100. [c.57] В современных ЭВМ в арифметических операциях, как правило, используется дополнительный код, причем отрицательные числа хранятся в памяти в дополнительном коде. [c.57] Рассмотрим выполнение простейших арифметических операций. [c.57] Сложение и вычитание чисел в дополнительном коде. [c.57] Если оба слагаемых имеют одинаковый знак, то может случиться, что их алгебраическая сумма выйдет за границы диапазона чисел, представленных в коде данной разрядности. [c.57] Это называется переполнением разрядной сетки. При переполнении возможны хща случая либо имеется перенос в знаковый разряд и нет переноса из знакового разряда, либо нет переноса в знаковый разряд и есть перенос из знакового разряда. [c.58] Вернуться к основной статье