Правила выполнения арифметических операций в двоичной системе
счисления аналогичны правилам операций в десятичной системе
счисления.
Например:
Сложение
+
Вычитание
–
Результат
Результат
Умножение
× 101
Деление
/101
Результат (произведение)
Результат (частное)
Особенности выполнения операций над числами с плавающей запятой
При сложении (вычитании) чисел с плавающей запятой и одинаковыми
порядками следует сложить (вычесть) мантиссы и результату
присваивается порядок, общий для исходных чисел. Если порядки
исходных чисел разные, то сначала эти порядки выравниваются (число
с меньшим порядком приводится к числу с большим порядком), затем
выполняется операция сложения (вычитания) мантисс. Если при
выполнении операции сложения мантисс возникает переполнение, то
сумма мантисс сдвигается вправо на один разряд, а порядок суммы
увеличивается на 1. При умножении чисел с плавающей запятой их
мантиссы перемножаются, а порядки складываются. При делении чисел с
плавающей запятой мантисса делимого делится на мантиссу делителя, а
для получения порядка частного из порядка делимого вычитается
порядок делителя. При этом если мантисса делимого больше мантиссы
делителя, то мантисса частного окажется больше 1 (происходит
переполнение) и ее следует сдвинуть на один разряд вправо,
одновременно увеличив на единицу порядок частного.
Выполнение арифметических операций над числами, представленными в
дополнительных кодах
При выполнении арифметических операций в ЭВМ применяются
модифицированные коды, которые отличаются от простого
использованием для изображения знака числа двух разрядов. Второй
знаковый разряд служит для автоматического обнаружения ситуации
переполнения разрядной сетки: при отсутствии переполнения оба
знаковых разряда должны иметь одинаковые цифры (нули или единицы),
а при переполнении разрядной сетки цифры в них будут разные.
Сложение производится по обычным правилам сложения двоичных чисел:
единица переноса, возникающая из старшего знакового разряда, просто
отбрасывается. Примеры сложения (запятая условно отделяет знаковый
разряд от самого числа):
Х = –1101; Y = 1001. Результат сложения: 11,0011 + 00,1001 =
11,1100 (или –0100);
Х = 1101; Y = 1001. Результат сложения: 00,1101 + 00,1001 = 01,0110
(переполнение, после сдвига вправо получим 00,10110, или
+10110);
Х = 1101; Y = –1001.
Результат сложения: 00,1101 + 11,0111 =
100,0100 (или 00,0100);
Х = –1101; Y = –1001. Результат сложения: 11,0011 + 11,0111 =
10,1010 (переполнение, после сдвига вправо получим 11,01010, или
–10110).
Умножение чисел в дополнительных кодах осуществляется по обычным
правилам умножения двоичных чисел. Единственной особенностью
является то, что если сомножитель является отрицательным (знаковые
разряды равны 11), то перед началом умножения следует приписать к
нему слева столько единиц, сколько значащих разрядов у другого
сомножителя справа от запятой. Результат (произведение) всегда в
дополнительном коде.
ПРИМЕЧАНИЕ
Добавление единиц слева перед отрицательным числом не изменяет его
величины, так как перед положительным числом можно написать сколь
угодно нулей, не изменяя величины числа; наоборот, перед
отрицательным числом (в дополнительном или обратном кодах)
добавление лишних нулей недопустимо.
Примеры операции умножения:
Х = 00,111 · 00,101 = 00,100011
00,111
× 00,101
________________
__________
Х = 00,111 · 11111,011 = 11,011101
00,111
× 11111,011
_________________
___________________________
0011011,010101 11,011101
Х = 11111,001 · 00,101 = 11,011101
11111,001
× 00,101
001011,011101 11,01101
Х = 11111,001 · 11111,011 = 00,100011
11111,001
× 11111,011
1111010000,100011 00,100011
Особенности выполнения операций в обратных кодах
Обратные коды следует складывать как обычные двоичные числа,
поступая со знаковыми разрядами, как с обычными разрядами, а если
возникает единица переноса из знакового разряда, ее следует
прибавить к младшему разряду суммы кодов. Последнее обстоятельство
(возможное добавление 1 в младший разряд) увеличивает время
выполнения операций в обратных кодах, поэтому в компьютере чаще
используются дополнительные коды.
Выполнение арифметических операций в шестнадцатеричной системе
счисления
Арифметические операции в шестнадцатеричной системе в машине не
выполняются. Операции сложения и вычитания иногда приходится
выполнять при программировании, например, при вычислении полных
адресов ячеек памяти (при сложении и вычитании адресов сегмента,
базы, индекса, смещения). Правила их выполнения обычные для
позиционной системы счисления. Примеры операции сложения:
A58
+ 34C
= DA4
5BAC
+ 2A45
= 85F1
+ BEFA
= 7374B
Выполнение арифметических операций в компьютере
192
0
3 минуты
Темы:
Понравилась работу? Лайкни ее и оставь свой комментарий!
Для автора это очень важно, это стимулирует его на новое творчество!