Тема: "Выполнение арифметических операций над целыми и вещественными числами."
Цель работы: изучить способы переводы чисел из одной системы счисления в другую, получить навыки выполнения арифметических операций в разных системах счисления.
Краткие теоретические сведения.
Для двоичной системы счисления правила выполнения арифметических операций над двоичными числами остаются такими же, как и для десятичной системы счисления. Основой выполнения арифметических операций являются правила, приведённые в табл.2.1.
Таблица 2.1
Двоичное сложение | Двоичное вычитание | Двоичное умножение |
0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 | 0 – 0 = 0 1 – 0 = 1 1 – 1 = 0 10 – 1 = 1 | 0 • 0 = 0 0 • 1 = 0 1 • 0 = 0 1 • 1 = 1 |
Сложение двух чисел в двоичной системе можно выполнить столбиком, начиная с младших разрядов. При этом в каждом разряде складываются две цифры одноимённых разрядов (в соответствии с табл.2.1) и единица переноса из соседнего младшего разряда, если он имел место. В результате сложения получим цифру соответствующего разряда суммы и возможную единицу переноса в старший разряд.
|
|
При сложении следует обратить внимание на следующие обстоятельства:
- при записи чисел друг под другом необходимо совместить по вертикали запятые. Только в этом случае разряды одинакового веса будут находиться на одной позиции и их можно складывать;
- возникновение переноса из дробной части числа в целую нужно воспринимать как перенос из младшего разряда в старший;
- в результате переноса из старшего разряда складываемых чисел получаем цифру более старшего разряда.
Найдём сумму двух двоичных чисел: 1100,11(2) и 1101,1(2). Для этого запишем слагаемые одно под другим таким образом, чтобы разряды одинакового веса находились друг над другом:
Выполнение действий начинается с младших разрядов. В приведённом случае первое и второе слагаемое имеют на младших позициях веса 2-2 значение цифр, равное 1 и 0 соответственно. Их сумма 1+0=1 записывается в данном разряде. Перенос в старший разряд равен 0:
Затем выполняется сложение в разряде с весом 2-1. Складываться должны три цифры: цифры первого и второго слагаемого и перенос из младшего разряда: 1+1+0=1+1=10(2). Цифра 0 записывается в данном разряде, а старшая единица переносится в соседний старший разряд:
,01
Отсюда следует, что в разряде с весом 20 опять складываются цифры 0,1 и 1, то есть 0+1+1=1+1=10(2):
0,01
На следующем шаге в разряде с весом 21 складываются цифры 0, 0 и 1. Результат сложения 0+0+1=1. Перенос в следующий разряд равен 0:
10,01
Теперь слагаемыми являются цифры 1, 1 и 0, их сумма составляет 1+1+0=10(2):
010,01
В старшем разряде все цифры слагаемых равны единице:
|
|
1+1+1 = (1+1)+1 = 10+1=11(2).
То есть цифра данного разряда равна единице и перенос из старшего разряда равен единице:
+
11010,01
Этот перенос составит цифру старшего разряда суммы с весом 24. Таким образом, 1100,11(2)+1101,1(2)=11010,01(2).
Рассмотрим пример сложения двоичных чисел 10011,11(2) и 11001,01(2). Справа показано сложение этих же чисел в десятичной системе счисления.
1 0 0 1 1 1 1 0 1 1 1
101101,00(2) 42,00
Легко убедиться, что перенос в старший разряд возникает лишь в том случае, если сумма данного разряда больше или равна основанию системы счисления.
При вычитании двоичных чисел может возникнуть обратный перенос - заём единицы из старшего разряда в младший. Эта занимаемая единица, передаваемая в соседний младший разряд, имеет значение двойки 10(2)=2(10). Заем производится каждый раз, когда цифра в разряде вычитаемого больше цифры в том же разряде уменьшаемого. Например, при вычитании:
0 10
_1010011
1001
единица из разряда с весом 24 была занята в разряд с весом 23; эта единица стала там двойкой, и в разряде с весом 23 выполнилось вычитание 10 - 1 = 1; на месте разряда с весом 24 в уменьшаемом фактически остался нуль.
Распространение заёма сразу на несколько более старших разрядов можно проследить на примере вычитания чисел 101110,001(2) и 101,011(2). Записав числа друг под другом,
_101110,001
101,011
нетрудно заметить, что в разряде с весом 2-2 в результате вычитания должен произойти заем из разряда с весом 2-1. Перепишем пример с учетом фактического расположения цифр после заема и выполним вычитание:
0 1 1 10
_101110,001
101,011
101000,110
Окончательный результат, разность, составляет 101000,110(2).
Умножение двух двоичных чисел столбиком выполняется, так же как и умножение двух десятичных, то есть путём образования частичных произведений множимого на каждую цифру множителя и их последующего суммирования. Причем, каждое частичное произведение равно нулю, если в соответствующем разряде множителя стоит нуль, или равно множимому, сдвинутому на соответствующее количество разрядов влево, если в разряде множителя стоит единица. Таким образом, операция умножения много разрядных чисел сводится к операциям сложения и сдвига. Положение запятой определяется так же, как при умножении десятичных чисел. Поясним сказанное примером:
110,11 * 1010,1=1000110,111(2).
٭ 10101
+ 00000
11011.
Деление двух двоичных чисел выполняется аналогично делению двух десятичных чисел. Это действие комбинированное. Для его выполнения потребуется умножение и вычитание. Положение запятой определяется так же, как и для десятичных чисел. Особенности выполнения деления двоичных чисел поясняются следующим примером: 1100,011:10,01=?
Ответ: 1100,011(2): 10,01(2) = 101,1(2).