Выполнение арифметических операций в двоичной системе счисления.
Внутри компьютера арифметические операции в основном выполняются над двоичными числами. Для случая больших вычислений над десятичными числами, с целью повышения производительности, вместе с двоично-десятичным представлением в процессоре предусмотрено выполнение операций в двоично-десятичном режиме. Вычисления над числами с высокой точностью выполняется математическим сопроцессором в формате с плавающей запятой.
Рассмотрим порядок выполнения операций над двоичными целыми числами.
Сложение и вычитание.
В ЭВМ сложение и вычитание выполняется одной операцией над кодированными числами. При этом применяется насколько кодировок знака числа. Наиболее распространенным является дополнительный код.
Для представления положительного числа в дополнительном коде, нужно записать два знаковых нуля и дописать само число.
Пример: А=+1011, АдопМ=00’1011.
Чтобы снять кодировку положительного числа, два нуля заменяется знаком «+» и дописывается само число.
При представлении отрицательного числа, записываются две единицы указывающие что число отрицательное, а затем значения в разрядах числа инвертируются и к младшему разряду прибавляется единица.
Пример: А=-1011, АдопМ=11’0101.
Для снятия кодировки с отрицательного числа, две единицы заменяются на знак «-», значения в разрядах инвертируются, и к младшему разряду прибавляется единица.
При сложении и вычитании исходные числа выравниваются и представляются в дополнительном модифицированном коде. Затем выполняется поразрядное сложение (включая знаковые разряды). Если в знаковых разрядах появляется третий разряд равный единице, то он не учитывается и исключается из значения. Значения 10 и 01 в знаковых разрядах являются признаком того, что в результате операции произошло переполнение и полученное значение не верное. В этом случае в исходных числах в старших разрядах добавляются нули и операция повторяется.
Пример сложения чисел в дополнительном модифицированном коде:
Пример сложения при переполнении разрядной сетки:
Умножение в двоичной системе счисления.
Операция умножения в двоичной системе выполняется довольно просто. Умножение заменяется на операции сдвига и сложения. Множимое записывается в столбик со сдвигом столько раз, сколько разрядов в множителе. В тех разрядах, где значение равно нулю соответствующая строка в столбике обнуляется. Затем все значения складываются.
Пример умножения чисел в двоичной системе счисления:
Деление в двоичной системе счисления.
Деление выполняется по тем же правилам что и в десятичной системе, но в двоичной системе действия выполняется особенно просто, так как очередная цифра частного может быть только нулем или единицей.
Пример деления чисел в двоичной системе счисления: