Арифметические операции в различных системах счисления
Рассмотрим основные арифметические операции: сложение, вычитание, умножение и деление. Правила выполнения этих операций в десятичной системе хорошо известны - это сложение, вычитание, умножение столбиком и деление углом.
Правила выполнения арифметических действий для всех позиционных систем счисления одинаковы и совпадают с правилами для десятичной системы счисления. При этом можно пользоваться таблицами сложения и умножения для системы счисления с основанием 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
36 4+3+1=810=1∙8+0=108 103
| 8. 3816 + 2516 = 5D16
25 3+2=5 5D
| ||
1. 5. 2748 + 768 = 3728
1 1
76 1+7+7=1510=1∙8+7 = 178 372 2+1=3
| 9. 78C16 + 9B16 = 82716
1 1
9B 1+8+9=1810=1∙16+2=1216 827
| ||
6. 5218 + 3778 = 11208
1 1
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
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
31,B5 2+B=2+11=1310=D16 4B,D9 A+1=10+1=1110=B16 1+3=4
| 11. F4716 + D9816 = 1CDF16
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
71 8+3-7=4 144
| 8. A516 – 1916 = 8C16
∙ 16
1 9 8 C | ||
5. 2138 – 468 = 1458
∙ ∙ 8
46 8+0-4=4 145
| 9. 57C16 – 8F16 = 4ED16
∙ ∙ 16
8F 16+6-8=1410=E16 4ED | ||
6. 14358 – 7468 = 4678
∙ ∙ ∙ 8
746 8+2-4=6 467 8+3-7=4
| 10. 9A2316 – ABC16 = 8F6716
∙ ∙ ∙ 16
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
4 5·4+1=2110=2∙8+5=258 254
| 8. 1516 · 616 = 7E16
1
6 1·6+1=7 7E
| |||||
5. 175 8· 0,58 = 116,18
4 3
0,5 7·5+3=3810=4∙8+6=468 116,1 1·5+4=910=1∙8+1=118
| 9. 14916 · 8916 = B01116
89 4·9+5=4110=2·16+9=2916
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
16 2·6+3=1510=1∙8+7=178
24 7+4=1110=1∙8+3=138 430 1+1+2=4
| 10. 24E16 · 1216 = 297C
12 4·2+1=9
24E 9+E=9+14=2310=1·16+7=1716 297C 1+4+4=9
| |||||
7. 6238 · 418 = 317638
41 2·4+1=910=1∙8+1=118
3114 31763
| 11. A,516 · 2,B16 = 1B,B716
2,B A·B+3=10·11+3=11310=7·16+1=7116
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
| 38 | ||
3 | 168 | ||
| 1·3=3 6·3=1810=2∙8+2=228 | ||
22 | |||
0 |
2) 3138 : 78 = 358
| 78 | ||
25 | 358 | ||
| 7·3=2110=2∙8+5=258 5·7=3510=4∙8+3=358 | ||
43 | |||
0 |
3) 33416 : A16 = 5216
| A16 | ||||
32 | 5216 | ||||
| 5·A=5010=3·16+2=3216 2·A=2010=1·16+4=1416
| ||||
14 | |||||
0 |
Деление на многозначные числа
4) 2508 : 168 = 148
| 168 | |||
16 | 148 | |||
| 48·168=708 3
4 6·4=2410=3·8+0=308 70 1·4+3=7 | |||
70 | ||||
0 |
5) 15528 : 238 = 568
| 238 | |||
137 | 568 | |||
| 58·238=1378 1
5 2·5+1=1110=1·8+3=138 137 | |||
162 | ||||
0 |
68·238=1628
2
× |
6 2·6+2=1410=1·8+6=168
162
6) 5E816 : 1216 = 5416
| 1216 | |||
5A | 5416 | |||
| 516·1216=5A16
5 5A | |||
48 | ||||
0 |
416·1216=4816
× |
4
48
7) 63C16 : 3916 = 1C16
| 3916 | |||
39 | 1C16 | 6316-3916=2A16 | ||
| ∙ 16
39 2A | |||
2AC | ||||
0 |
C 16·3916=2AC16
6
× |
C 3·C+6=4210=2·16+10=2A16
2AC
8) 6EF516 : 5F16 = 12B16
| 5F16 | |||
5F | 12B16 | 6E16-5F16=F16 | ||
| ∙ 16
5F F | |||
BE | ||||
415 |
0
216·5F16=BE16
1
× |
2 5·2+1=1110=B16
BE
FF16-BE16=4116
- |
BE F-B=15-11=4
4 1
B16·5F16=41516A F·B=15·11=16510=10·16+5=A516
× |
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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!