
- •302030, Г. Орел, ул. Московская, 65
- •Введение
- •Цель лабораторной работы
- •2 Порядок выполнения работы
- •Методические указания
- •3.1 Системы счисления. Формы и методы представления чисел
- •3.1.1 Системы счисления и кодирования информации
- •3.1.2 Перевод чисел из одной системы счисления в другую
- •3.1.2.1 Перевод чисел с основаниями, являющимися степенью цифры 2
- •3.1.2.2 Перевод целых чисел из одной системы счисления в другую
- •3.1.2.3 Перевод дробных чисел из одной системы счисления в другую
- •3.1.2.4 Перевод чисел из любой системы счисления в десятичную систему
- •3.1.3 Кодирование информации в эвм
- •3.1.4 Формы и форматы представления числовых данных в эвм
- •3.1.4.1 Естественная форма представления числа в памяти эвм
- •3.1.4.2 Нормальная форма представления числа в памяти эвм
- •3.1.5 Особенности представления чисел с плавающей запятой в пэвм
- •3.2 Машинные коды чисел и действия над ними
- •3.2.1 Сущность и назначение машинных кодов
- •3.2.2 Правила образования машинных кодов
- •3.2.3 Действия над машинными кодами чисел
- •3.2.3.1 Действия над числами, представленными в естественной форме
- •3.2.3.2 Действия над числами, представленными в нормальной форме
- •4 Контрольные вопросы
- •Действия над числами, представленными в естественной форме.
- •Действия над числами, представленными в нормальной форме.
- •Список рекомендуемой литературы
- •Приложение а
- •(Справочное)
- •Примеры задач для самостоятельного решения
- •Коды чисел в формате с фиксированной точкой
- •Коды чисел в формате с фиксированной точкой
- •Сложение чисел в формате с фиксированной точкой
- •Сложение чисел в формате с плавающей точкой
- •Приложение б (обязательное) Пример оформления титульного листа отчета по лабораторной работе
- •Приложение в (обязательное) Пример решения лабораторной работы
- •Решение.
3.1.4.2 Нормальная форма представления числа в памяти эвм
Число можно представить в различной форме записи, например:
A = 55,25 = 5525 · 10-2 = 0,5525 · 102 = 0,005525 · 104.
Зн mA |
Зн PA |
PA |
mA |
|
|
|
|
0 |
1 |
2 … 7 |
8 9 … 30 31 |
Рисунок 1 – Формат числа в нормальной форме
Любое число в нормальной форме представляется в виде:
,
(1.12)
где mA – мантисса числа A;
q – основание системы счисления;
PA – порядок.
Для однозначности представления чисел используется нормализованная форма, при которой мантисса должна отвечать условию:
(1.13)
Ограничение справа требует, чтобы мантисса представлялась правильной дробью, ограничение слева – чтобы после запятой присутствовала значащая цифра (не 0).
Нормальную форму называют также полулогарифмической или с плавающей запятой, положение которой определяется порядком, а также экспоненциальной.
Для представления чисел в нормальной форме используются фиксированные форматы разной длины. В разрядной сетке форматов отводятся места для знака мантиссы (нулевой разряд), знака порядка (первый разряд), значения порядка (6 разрядов, со 2-го по 7-й), в остальные разряды записывается мантисса числа. В других форматах первый байт не изменяется, а увеличивается область под мантиссу. На рисунке 1 представлена разрядная сетка в формате 4 байта.
Диапазон представления чисел можно оценить по максимальному значению:
,
(1.14)
где mmax =1 – 2-24, Pmax = 26 –1 = 63.
Например, при q = 2:
Amax = (1 – 2-24) · 263 1 · 263 = (210)6 · 23 (103)6 · 23 1019.
По сравнению с естественной формой, диапазон представления чисел в нормальной форме при той же разрядной сетке увеличился на 10 порядков. Для примера рассмотрим форматы представления числа в ЭВМ: короткий E (4 байта), длинный D (8 байт) и повышенной точности (16 байт).
Особенностями нормальной формы в ЭВМ являются следующие:
Смещение числовой оси порядков в область положительных значений для облегчения действий над порядками, не имеющими знака. Обычно 7 разрядов (рисунок 1) отводится под значение порядка и его знак.
Следовательно, числовая ось порядков находится в диапазоне –26 P 26 –1 или –64 P 63 (P – порядок числа).
Смещенный порядок (называемый характеристикой) определяется его смещением на +26 =6410 = 4016. В этом случае характеристика Px = P + 40 не имеет знака.
Теперь характеристика может принимать значения в диапазоне
0 Px 127 =7F16
и под ее значение, как уже было сказано, отводятся 7 разрядов (максимальное значение порядка 27 – 1 = 127). Очевидно, если Px = 40, то P = 0, если Px < 40, то порядок отрицательный P < 0, при Px > 40 – порядок положительный P > 0. Если Px < 0 или Px > 7F, то значение характеристики пропадает и результаты искажаются.
Мантиссы и порядки чисел выражаются в шестнадцатеричной системе счисления в двоичном виде, что обеспечивает увеличение диапазона представления чисел, так как изменение характеристики на 1 приводит к сдвигу мантиссы на одну шестнадцатеричную цифру, т.е. сразу на одну двоичную тетраду. Действительно, если учесть, что q = 16, то
Amax = (1 – 16-6) · 1663 1 · (24)63 (1019)4 = 1076.
Таким образом, значение порядка увеличилось в 4 раза.
Представим в разрядной сетке формата E два числа (знак ~ обозначает равенство чисел в разных системах счисления):
A10 = 32008,5 ~ A16 = 7D08,8
и
B10 = – 32008,5 ~ B16 = – 7D08,8.
Для этого найдем нормализованные мантиссы и характеристики:
mA = 0,7D08,8, PXA = 40 + 4 = 44;
mB = – 0,7D08,8, PXB = 40 + 4 = 44 (рисунок 2).
-
Знак
Характеристика
Дробная часть мантиссы
0
100
0100
0111
1101
0000
1000
1000
0000
44
7D
08
80
1
100
0100
0111
1101
0000
1000
1000
0000
C4
7D
08
80
Рисунок 2 – Представление чисел A и B в формате E и их коды
Здесь так же, как и при естественной форме хранения числа, его знак определяется по первой шестнадцатеричной цифре кода.
Таким образом две первые шестнадцатеричные цифры кода числа с плавающей запятой определяют характеристику Px с учетом знака числа (0 или 1 в старшем разряде первой двоичной тетрады). Для положительных чисел две первые шестнадцатеричные цифры кода числа образуются как сумма Px + 0016, а для отрицательных – Px + 8016.
Представим в разрядной сетке (рисунок 3) два других числа:
C10 = 0,015625 ~ C16 = 0,04;
D10 = – 0,015625 ~ D16 = – 0,04.
-
Знак
Характеристика
Дробная часть мантиссы
0
011
1111
0100
0000
0100
0000
0100
0000
3F
40
00
00
1
011
1111
0100
0000
0100
0000
0100
0000
BF
40
00
00
Рисунок 3 – Представление чисел С и D в разрядной сетке и их коды
Для этого найдем нормализованные мантиссы, порядки и характеристики этих чисел:
mC = 0,4; PС = –1; PXC = 40 – 1 = 3F; с учетом знака PXC + 0016 = 3F;
mD = –0,4; PD = –1; PXD = 40 – 1 = 3F; с учетом знака PXD + 8016 = BF.
По шестнадцатеричному коду числа с плавающей запятой нетрудно определить и само десятичное число.
Рассмотрим примеры кодов чисел, представленных на рисунках 2 и 3.
Пример 1.10.
Код числа A16 = 447D0880.
Характеристика
с учетом знака = 44, первая цифра 4 < 8.
Поэтому, число положительное, характеристика
PXA
= 4416 – 0016 = 4416, порядок
числа PA
= 4416 – 4016 = 416, а мантисса
числа mA
= 0,7D08816. Таким образом,
число A16 = mA
= 0,7D088
164 = 7D08,8. Следовательно,
A10 = 7 163 + 13 162 + 8 160 + 8 16–1 = 28672 + 3328 + 8 + 0,5 = 32008,5.
Код числа B16 = C47D0880.
Характеристика с учетом знака = C4, первая цифра C > 7. Поэтому, число отрицательное, характеристика PXB = С416 – 8016 = 4416, порядок числа PB = 4416 – 4016 = 416, а мантисса числа mB = –0,7D08816. Вычисления аналогичны, следовательно, B16 = –7D08,8, а B10 = –32008,5.
Код числа С16 = 3F4400000.
Характеристика
с учетом знака = 3F, первая
цифра 3 < 8. Поэтому, число положительное,
характеристика PXС
= 3F16 – 0016 =
3F16, порядок числа
PC
= 3F16 – 4016 =
–116, а мантисса числа mC
= 0,416. Таким образом, число C16
= mC
= 0,4 16–1 =
0,0416. Следовательно, C10
= 4 16–2 =
=
= 0,015625.
Код числа D16 = BF4400000.
Характеристика
с учетом знака = BF, первая
цифра B > 7. Поэтому, число
отрицательное, характеристика PXD
= BF16 – 8016 =
3F16, порядок числа
PD
= 3F16 – 4016 =
–116, а мантисса числа mD
= –0,416. Таким образом, число D16
= mD
= –0,4 16–1 =
–0,0416. Следовательно, D10
= –4 16–2 =
=
= –0,015625.