Арифметические операции в различных системах счисления



Рассмотрим основные арифметические операции: сложение, вычитание, умножение и деление. Правила выполнения этих операций в десятичной системе хорошо известны - это сложение, вычитание, умножение столбиком и деление углом.

Правила выполнения арифметических действий для всех позиционных систем счисления одинаковы и совпадают с правилами для десятичной системы счисления. При этом можно пользоваться таблицами сложения и умножения для системы счисления с основанием q.

Для q = 2, 8 и 16 таблицы сложения и умножения представлены ниже.

     
0 1
0 0 1
1 1 10


            

   
0 1
0 0 0
1 0 1

q = 2    

q = 8

q = 16  

Основные действия в двоичной арифметике.

Сложение Вычитание Умножение Деление
0 + 0 = 0 0 – 0 = 0 0 ∙ 0 = 0 0 : 1 = 0
0 + 1 = 1 1 – 0 = 1 0 ∙ 1 = 0 1 : 1 = 1
1 + 0 = 1 1 – 1 = 0 1 ∙ 0 = 0  
1 + 1 = 10 10 – 1 = 1 1 ∙ 1 = 1

Пример.

Сложение

Если результат сложения двух цифр в системе счисления с основанием q больше q (т. е. полученное число двузначное), то старшая цифра результата равна 1. Таким образом, при сложении в следующий разряд может переходить только единица, а результат сложения в любом разряде будет меньше, чем q. Результат сложения двух положительных чисел имеет столько же значащих цифр, что и максимальное из двух слагаемых, либо на одну цифру больше, но этой цифрой может быть только единица.

Сложить числа:

Примеры.

1. 1001100112+ 11010012 = 1100111002 ,

2. 723,38 + 467,538 = 1413,038 ,

3. 3B9,616 + 78С,816 = В45,Е16.

4. 458 + 368 = 1038 1
+
45          5+6=1110=1∙8+3=138

36        4+3+1=810=1∙8+0=108

103

 

8. 3816 + 2516 = 5D16  
+
38    8+5=1310=D16

25    3+2=5

5D

 

1. 5. 2748 + 768 = 3728 1 1
+
274    4+6=1010 = 1∙8+2 = 128

76    1+7+7=1510=1∙8+7 = 178

372 2+1=3

 

9. 78C16 + 9B16 = 82716   1 1
+
78C     C+B=12+11=2310=1∙16+7=1716

9B  1+8+9=1810=1∙16+2=1216

827

 

6. 5218 + 3778 = 11208 1 1
+
521    1+7=810=1∙8+0=108

377    1+2+7=1010=1∙8+2 = 128

1120 1+5+3=910=1∙8+1 = 118

10. B8C416 + F9D16 = C86116  1 1 1
+
B8C4       4+D=4+13=1710=1∙16+1=1116

F9D 1+C+9=1+12+9=2210=1∙16+6=1616

C861 1+8+F=1+8+15=2410=1∙16+8=1816

        1+B=1+11=1210=C16

 

7. 1А,2416 + 31,B516 = 4B,D916  
+
 1А,24 4+5=9

31,B5          2+B=2+11=1310=D16

 4B,D9          A+1=10+1=1110=B16

1+3=4

 

11. F4716 + D9816 = 1CDF16  
+
F47 7+8=15=F

D98 4+9=13=D

1CDF F+D=15+13=2810=1∙16+12=1C16

 

Вычитание

Если необходимо вычесть из цифры a цифру b и а ≥ b, то в столбце b таблицы сложения ищем значение числа а. Самая левая цифра в строке, в которой найдено значение числа а, и будет результатом вычитания. Если же a < b, то нужно заимствовать единицу из левого разряда, поэтому в столбце ищем число 1а, и левая цифра в соответствующей строке будет результатом вычитания.

Примеры:

Выполнить вычитание чисел:

1. 1100000,0012 – 101101,12 = 110010,1012 ,

2. 1510,28 – 1430,738 = 57,258 ,

3. 25Е,D816 – 171,616 = ED,7816 .

4. 2358 – 718 = 1448 ∙ 8
-
235    5-1=4

71     8+3-7=4

144

 

8. A516 – 1916 = 8C16  ∙ 16
-
A5  16+5-9=1210=C16

1 9

8 C

5. 2138 – 468 = 1458 ∙ ∙ 8
-
213    8+3-6=5

46 8+0-4=4

145

 

9. 57C16 – 8F16 = 4ED16 ∙ ∙ 16
-
57C 16+C-F=16+12-15=1310=D16

8F 16+6-8=1410=E16

4ED

6. 14358 – 7468 = 4678 ∙ ∙ ∙ 8
-
1435  8+5-6=7

746  8+2-4=6

467 8+3-7=4

 

10. 9A2316 – ABC16 = 8F6716    ∙ ∙ ∙ 16
-
9 A 2 3  16+3-C=16+3-12=7

A B C  16+1-B=16+1-11=6

8 F 6 7   16+9-A=1510=F16

 

Умножение

Умножение многозначных чисел выполняется аналогично «в столбик». Умножение этим способом сводится к перемножению однозначных чисел и сложению.

Примеры:

1. 100112 ∙ 1001012 = 10101111112 ,

2. 1176,48 ∙ 45,38 = 56467,748 ,

3. 62,B16 ∙ 70,D16 = 2B7D,2F16.

4. 538 · 48 = 2548                                           1
×
53    3·4=1210=1∙8+4=148

4      5·4+1=2110=2∙8+5=258

254

 

8. 1516 · 616 = 7E16 1
×
15    5·6=3010=1·16+14=1E16

6    1·6+1=7

7E

 

5. 175 8· 0,58 = 116,18   4 3
×
175 5·5=2510=3∙8+1=318

0,5      7·5+3=3810=4∙8+6=468

116,1           1·5+4=910=1∙8+1=118

 

 

9. 14916 · 8916 = B01116  
×
149 9·9=8110=5·16+1=5116

   89 4·9+5=4110=2·16+9=2916

++
B91 1·9+2=1110=B16

A48  9·8=7210=4·16+8=4816

B011 4·8+4=3610=2·16+4=2416

            1·8+2=1010=A16

            9+8=1710=1·16+1=1116

            1+B+4=1+11+4=1610=1·16+0=1016

 

6. 248 · 168 = 4308  
×
24  4·6=2410=3∙8+0=308

16    2·6+3=1510=1∙8+7=178

++
170

24        7+4=1110=1∙8+3=138

430 1+1+2=4

 

10. 24E16 · 1216 = 297C  
×
24E   E·2=14·2=2810=1·16+12=1C16

12   4·2+1=9

++
49C   2·2=4

24E      9+E=9+14=2310=1·16+7=1716

297C   1+4+4=9

 

7. 6238 · 418 = 317638
×
623 3·4=1210=1∙8+4=148                

   41          2·4+1=910=1∙8+1=118

++
623        6·4+1=2510=3∙8+1=318

3114

31763

 

11. A,516 · 2,B16 = 1B,B716
×
  A,5 5·B=5·11=5510=3·16+7=3716

  2,B          A·B+3=10·11+3=11310=7·16+1=7116

++
7 1 7 5·2=1010=A16

 1 4 A A·2=10·2=2010=1·16+4=1416

1 B,B 7 1+A=B

7+4=1110=B16

Деление

Как для умножения, так и для деления нужны обе таблицы – умножения и сложения в соответствующей системе счисления. Само деление выполняется уголком с последующим вычитание сомножителей.

Примеры.

Выполнить деление:

1. 110101112 : 1010112=1012

2. 462308 : 538 = 7108;

3. 4C9816 : 2B16 =1C816.

Деление на однозначные числа

1) 528 : 38 = 168

-
528

38  
3 168  
-
22

 

           1·3=3

           6·3=1810=2∙8+2=228

22  
0  

2) 3138 : 78 = 358

-
3138

78  
25 358  
-
43

 

          7·3=2110=2∙8+5=258

          5·7=3510=4∙8+3=358

43  
0  

3) 33416 : A16 = 5216

-
33416

A16  
32 5216  
-
14

 

          5·A=5010=3·16+2=3216

               2·A=2010=1·16+4=1416

 

14  
0  

Деление на многозначные числа

4) 2508 : 168 = 148

-
2508

168  
16 148  
-
70

 

                    48·168=708

                      3

×
                            16

                              4 6·4=2410=3·8+0=308

                            70       1·4+3=7

70  
0  

5) 15528 : 238 = 568

-
15528

238  
137 568  
-
162

 

                    58·238=1378

                      1

×
                            23       3·5=1510=1·8+7=178

                              5 2·5+1=1110=1·8+3=138

                          137 

162  
0  

68·238=1628

  2

×
                                      23   3·6=1810=2·8+2=228

                                      6   2·6+2=1410=1·8+6=168

162

6) 5E816 : 1216 = 5416

-
5E816

1216  
5A 5416  
-
48

 

                    516·1216=5A16

×
                            12       2·5=1010=A16

                              5

                            5A

48  
0  

416·1216=4816

×
12

4

48

7) 63C16 : 3916 = 1C16

-
63C16

3916  
39 1C16                         6316-3916=2A16
-
2AC

 

                            ∙ 16

-
                            63 16+3-9=1010=A16    

                            39

                            2A

2AC  
0  

C 16·3916=2AC16

6

×
39 9·C=10810=6·16+12=6C16

C 3·C+6=4210=2·16+10=2A16

2AC

8) 6EF516 : 5F16 = 12B16

-
6EF516

5F16  
5F 12B16              6E16-5F16=F16
-
FF

 

                     ∙ 16

-
                     6E 16+E-F=16+14-15=1510=F16                                                               

                     5F

                       F

BE  
-
415

415

 

  0             

                                                216·5F16=BE16

                1

×
                5F F·2=15·2=3010=1·16+14=1E16

                       2    5·2+1=1110=B16

                    BE

 

              FF16-BE16=4116

-
                        FF   F-E=15-14=1

                        BE   F-B=15-11=4

                        4 1

                B16·5F16=41516A              F·B=15·11=16510=10·16+5=A516

×
                      5F   

                          B     

                       415

5·B+A=5·11+10=6510=4·16+1=4116

 

Формы представления чисел

В вычислительных машинах применяются две формы представления двоичных чисел – естественная форма или форма с фиксированной запятой (точкой) и нормальная форма или форма с плавающей запятой (точкой).

В естественной форме положение в разрядной сетке (общее число разрядов, отведенное для представления чисел, с указанием местоположения каждого из них) запятой, отделяющей целую часть числа от дробной части, постоянно для всех чисел. Диапазон значащих чисел небольшой и при m-разрядной целой части и s-разрядной дробной части числа без учета знака составляет от P-s до Pm - P-s. Кроме того, если в результате операции получится число, выходящее за допустимый диапазон, происходит переполнение разрядной сетки, и дальнейшие вычисления теряют смысл. Следовательно, необходимо прогнозировать результаты обработки с целью соответствующего масштабирования исходных данных. По этим причинам естественная форма представления используется как вспомогательная и только для целых чисел.

В нормальной форме каждое число представляется как N = ±MP±R, где М – мантисса числа (|M|<1), R – порядок (целое число), Р – основание системы счисления. Абсолютное значение порядка определяет число разрядов, на которое смещена запятая, отделяющая целую часть числа от дробной части, а знак порядка – направление смещения этой запятой. Таким образом, с изменением значения порядка запятая меняет своё положение, как бы "плавает" в изображении числа. Диапазон значащих чисел весьма велик и при m-разрядной мантиссе и s-разрядном порядке (без учета знаков порядка и мантиссы) составляет от  до . В связи с этим нормальная форма представления является основной в современных ЭВМ.

Пример .

Приведем несколько равенств: левая часть равенства – число в естественной форме, правая часть – в нормальной форме. Для записи естественной формы используются 5 разрядов в целой части и 5 разрядов в дробной части.

+00721,35500 = +0,721355∙103;

+00000,00328 = +0,328∙10-2;

-10301,20260 = -0,103012026∙105.

В соответствии с двоичным представлением в информатике введены специальные единицы измерения объемов информации, хранимой или обрабатываемой в ЭВМ (таблица 2).

Последовательность нескольких битов или байтов часто называют полем данных. В ПК могут обрабатываться поля постоянной и переменной длины.

 

Таблица 2. Единицы измерения объемов данных

Кол.двоич. разрядов 1 8 16 8∙1024 (8∙210) 8∙10242 (8∙220) 8∙10243 (8∙230) 8∙10244 (8∙240)
Ед. измерения Бит Байт Параграф Килобайт (Кбайт) Мегабайт (Мбайт) Гигабайт (Гбайт) Терабайт (Тбайт)

Поля постоянной длины могут быть следующих размеров (форматов): слово (4 байта), полуслово (2 байта), полуторное слово (6 байт), двойное слово (8 байт), расширенное слово (10 байт). В полях постоянной длины числа с фиксированной запятой чаще всего имеют формат слова (рис.1а) и полуслова и заполняют формат справа налево. Оставшиеся свободными старшие разряды формата заполняются нулями. В крайнем левом разряде формата отображается знак числа, при этом знак "+" кодируется нулем, а знак "-" – единицей. Числа с плавающей запятой чаще всего имеют формат двойного (рисунок 1 б) и расширенного слова. Порядок заполняет соответствующую часть формата справа налево, а мантисса – слева направо. Оставшиеся свободными младшие разряды мантиссы формата заполняются нулями.

a)№ разряда

Знак

Абсолютная величина числа

31 30 29 . . . 1 0

 

б) № разряда

Порядок

Мантисса

Знак

Абс. величина

Знак

Абс. величина

63 62 . . . 56 55 54 . . . 0
                 

Рисунок 1. Структура формата слово со знаком для чисел с фиксированной (а) и плавающей (б) запятой

При выполнении операций ввода-вывода данные часто представляются в двоично-десятичной системе счисления – когда каждая цифра десятичного числа отображается 4-разрядным двоичным числом. Двоично-десятичные числа представляются полями переменной длины в так называемых упакованном и распакованном форматах. В упакованном формате для каждой десятичной цифры отводится 4 двоичных разряда, при этом знак числа кодируется в крайнем правом полубайте (1100 – знак "+" и 1101 – знак "-"). Упакованный формат используется обычно в ПК при выполнении арифметических операций над двоично-десятичными числами. В распакованном формате для каждой десятичной цифры отводится байт, представляющий собой (кроме младшего байта) адрес соответствующей ячейки таблицы символов. В старшем полубайте адреса кодируется номер столбца, а в младшем – номер строки этой таблицы. Старший полубайт младшего (правого) байта используется для кодирования знака. Распакованный формат используется в ПК при вводе-выводе информации. Поля переменной длины могут иметь любой размер от 0 до 256 байт, но обязательно равный целому числу байтов.

Вещественные числа в компьютерах различных типов записываются по-разному, тем не менее, все компьютеры поддерживают несколько международных стандартных форматов, различающихся по точности, но имеющих одинаковую структуру следующего вида:

Здесь порядок n-разрядного нормализованного числа задается в так называемой смещенной форме: если для задания порядка выделено k разрядов, то к истинному значению порядка, представленного в дополнительном коде, прибавляют смещение, равное (2k-1 - 1). Например, порядок, принимающий значения в диапазоне от -128 до +127, представляется смещенным порядком, значения которого меняются от 0 до 255.

Использование смещенной формы позволяет производить операции над порядками, как над беззнаковыми числами, что упрощает операции сравнения, сложения и вычитания порядков, а также упрощает операцию сравнения самих нормализованных чисел.

Чем больше разрядов отводится под запись мантиссы, тем выше точность представления числа. Чем больше разрядов занимает порядок, тем шире диапазон от наименьшего отличного от нуля числа до наибольшего числа, представимого в машине при заданном формате.


Дата добавления: 2019-09-08; просмотров: 997; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!