Элементы двоичной арифметики
Рассмотрим, как выполняются арифметические действия в двоичной системе. Для этого проведем анализ таблиц сложения и умножения в двоичной системе:
0+0=0, 0*0=0, 0+1=1, 0*1=0, 1+1=10
Следует обратить внимание на аналогию в правилах выполнения арифметических действий в двоичной и десятичных системах счисления: если при сложении двух двоичных чисел (точнее, представленных в двоичной системе счисления) сумма цифр окажется больше единицы, то возникает перенос в старший разряд; если уменьшаемая цифра меньше вычитаемой, то нужно сделать «заем» единицы в старшем разряде.
Анализируя примеры умножения в двоичной системе счисления, необходимо обратить внимание на одну важную особенность выполнения этой операции в данной системе. Так как очередная цифра множителя может быть только 1 или 0, то промежуточное произведение равно либо множимому, либо 0. Таким образом, операция умножения в двоичной системе фактически не производится: в качестве промежуточного произведения записывается либо множимое, либо 0, а затем промежуточные произведения суммируются. Иначе говоря, операция умножения заменяется последовательным сложением.
Как уже известно, дополнительный код используется для вычитания чисел в компьютерах и позволяет эту операцию свести к сложению чисел. Правила выполнения вычитания с дополнительным кодом следующие: чтобы вычесть число А из числа В, достаточно сложить В с дополнительным кодом числа А и отбросить перенос в соседний старший разряд.
Рассмотрим пример: 10110110(2) – 01000111(2)
Найдем дополнительный код числа 01000111(2) он будет равен 10111001(2)
10110110(2)+ 10111001(2)=01101111(2)
1 0 1 1 0 1 1 0
+
1 0 1 1 1 0 0 1
_____________
1 0 1 1 0 1 1 1 1
Таким образом, важнейшее преимущество двоичной арифметики заключается в том, что она позволяет все арифметические действия свести к одному – сложению, а это значительно упрощает устройство ЭВМ.
Практические задания
Задание 1.В восьмеричной системе счисления дано число. Перевести его в десятичную систему счисления.
№ |
Число |
№ |
Число |
1 |
515 |
9 |
2301 |
2 |
512 |
10 |
2304 |
3 |
1024 |
11 |
601 |
4 |
2047 |
12 |
701 |
5 |
311 |
13 |
302 |
6 |
700 |
14 |
1011 |
7 |
677 |
15 |
1010 |
8 |
123 |
16 |
2009 |
Задание 2. Дано десятичное число. Перевести его в восьмеричную и в шестнадцатеричную системы счисления.
№ |
Число |
№ |
Число |
1 |
515 |
9 |
2301 |
2 |
512 |
10 |
2304 |
3 |
1024 |
11 |
601 |
4 |
2047 |
12 |
701 |
5 |
311 |
13 |
275 |
6 |
700 |
14 |
1011 |
7 |
677 |
15 |
1010 |
8 |
123 |
16 |
2009 |
Задание 3. Перевести числа в двоичную систему счисления. Выполнить вычитание с использованием дополнительного кода.
№ |
Три числа в различных системах счисления. |
№ |
Три числа в различных системах счисления. |
1 |
101111(2)+87(16)-53(10)= |
9 |
85(10)+10001(2)-27(8)= |
2 |
1100100(2)-57(8)+3А(16)= |
10 |
60(8)+10000111(2)-83(10)= |
3 |
46(8)+7В(16)-1000111(2)= |
11 |
1100010(2)-66(8)+76(16)= |
4 |
10111100(2)-162(8)+28(10)= |
12 |
57(8)+7С(16)- 1001101(2)= |
5 |
77(8)+73(16)-1001001(2)= |
13 |
1011110(2)+5Е(16)-111(10)= |
6 |
125(10)+100101(2)-42(16)= |
14 |
224(8)-110100(2)+23(16)= |
7 |
1101111(2)-39(10)+121(8)= |
15 |
71(16)+101101(2)-85(10)= |
8 |
9Е(16)-1100101(2)+54(8)= |
16 |
1110110(2)-4F(16)+164(8)= |
Задание 4. Перевести оба действительных числа в двоичную систему счисления. Точность перевода чисел до 5 знаков после запятой. Записать числа в формате с плавающей запятой в нормализованной форме и выполнить сложение чисел.
№ |
Числа в десятичной системе счисления |
№ |
Числа в десятичной системе счисления |
1 |
12,4 + 6,15 = |
9 |
5,3 +7,15 = |
2 |
4,6 + 3,8 = |
10 |
6,3 + 7,18 = |
3 |
7,3 +9,14 = |
11 |
11,6 + 9,5 = |
4 |
14,5 +7,3 = |
12 |
7,14 +2,6 = |
5 |
4,6 +7,8 = |
13 |
5,13 + 13,5 = |
6 |
11,1 +4,6 = |
14 |
8,4 +7,14 = |
7 |
13,11 +7,5 = |
15 |
11,6 + 15,3 = |
8 |
3,6 +8,12 = |
16 |
6,16 + 9,6 = |
Контрольные вопросы
Что такое двоичные числа?
Какие системы счисления вы знаете?
Чем отличаются прямой, обратный и дополнительный коды числа?
Как производится вычитание двоичных чисел?
Как хранятся в компьютере числа с плавающей точкой?
Литература