Арифметические действия в двоичной системе счисления



Арифметические действия, выполняемые в двоичной системе, подчиня­ют­ся тем же правилам, что и в десятичной системе. Только в двоичной сис­теме перенос единиц в старший разряд возникает чаще, чем в десятичной. Вот как выглядит таблица сложения в двоичной системе:

0 + 0 = 0      0 + 1 = 1   
1 + 0 = 1      1 + 1 = 10 (перенос в старший разряд)


Таблица умножения для двоичных чисел еще проще:
0 * 0 = 0       0 * 1 = 0     1 * 0 = 0     1 * 1 = 1    

Пример выполнения операции сложения в двоичной системе счисления:

1  1  1
1 0 1 12      Красным цветом показан перенос из младших разрядов в
 + 1 1 02      старшие


 
1 0 0 0 12

Для проверки правильности выполнения операции переведем все три чис­ла из двоичной системы в 10-ую:

1011 = 1*23 + 1*21  + 1 = 8 + 2 + 1 = 1110
3 2 1 0

110 = 1*22 + 1*21   = 4 + 2 = 610
 2 1 0

10001 = 1*24 + 1 = 16  + 1 = 1710
4 3 2 1 0

Сумма первых двух чисел (11 и 6) равна третьему числу (17), следователь­но операция выполнена верно.
Обратите внимание на то, что при добавлении к числу, состоящему из еди­ниц (11…1), еще одной единицы, получается число, равное 1 с количест­вом нулей, равным количеству единиц исходного числа, например:
1111 11112 + 1 = 1 0000 00002 = 28


Пример выполнения операции вычитания в двоичной системе счисле­ния:
Вычитание выполняется по тем же правилам, что и в 10-ой системе, но в 10-й системе при заеме единицы старшего разряда она превращается в 10 еди­­ниц младшего разряда, а в 2-й системе – в 2 единицы. Если нужно про­извести заем не в соседнем разряде, а далее влево, то из каждых двух единиц текущего разряда одна остается в этом разряде, а вторая передается вправо. Сравните:
     9  9 10                                        1  1   2
1 0 0 010                       1 0 0 02
-        1                          -        1
9 9 910                           1 1 12

Выполним в 2-й системе счисление вычитание 1710 – 610 :
0   1  1  2
1 0 0 0 12
-        1 1 02


 
1 0 1 12 = 1110  Проверка показывает, что вычитание выполнено верно.

Если в двоичной системе счисления из числа, являющегося степенью двойки, вычесть 1, то получается число, состоящее из единиц, количество которых равно количеству нулей двоичного числа, например:
28 - 1 = 1 0000 00002 – 1 = 1111 11112
1023 = 1024 – 1 = 210 – 1 = 11 1111 11112

Пример выполнения операции умножения в двоичной системе счисле­ния:
1 1 0 12 = 1310
*     1 0 12  =  510


 
1 1 0 1
+1 1 0 1
1 0 0 0 0 0 12 = 26 +1 = 64 +1 =6510          ( 13 * 5 = 65)
6   5    4   3    2   1   0

Рассмотрим подробнее, как процессор выполняет умножение двоичных чисел. Пусть надо умножить число 1101 на 101 (оба числа в двоичной сис­теме счисления). Машина де­лает это следующим образом: она берет число 1101 и, если первый справа элемент второго множи­теля равен 1, то она за­носит его в сумму. Затем сдвигает число 1101 влево на одну позицию, полу­чая тем самым 11010, и, если, второй элемент второго множителя равен еди­нице, то добавляет его к сумме. Если элемент второго множителя равен ну­лю, то сумма не изменяется. Этот процесс сдвигов и сложений повторяется.

Пример выполнения операции деления в двоичной системе счисле­ния:

Двоичное деление основано на методе, знакомом вам по десятичному де­ле­нию, т. е. сводится к выполнению операций умножения и вычитания. Вы­пол­нение основной процедуры - выбор числа, кратного делителю и пред­наз­наченного для уменьшения делимого, здесь проще, так как таким числом мо­гут быть только либо 0, либо сам делитель.
В качестве примера разделим 14310 = 100011112 на 1310 = 11012

1 0 0 0 1 1 1 1  1 1 0 1
- 1 1 0 1           1 0 1 12 = 1110
1 0 0 1 1
- 1 1 0 1
1 1 0 1
- 1 1 0 1
0
Проверка показывает, что деление выполнено верно (143 / 13 = 11).

Умножение или деление двоичного числа на 2 приводит к перемещению запятой, отделяющей целую часть от дробной на один разряд соответственно вправо или влево:
10112 * 102 = 101102.
10112 / 102 = 101.12.

Комментариев нет:

Отправить комментарий