- •Арифметические основы эвм
- •1.2 Перевод чисел из одной системы счисления в другую
- •1.3 Двоичная арифметика
- •1.4. Упражнения
- •2. Основы машинной арифметики с двоичными числами
- •2.1 Коды чисел
- •2.2. Особенности сложения чисел в обратном и дополнительном кодах
- •2.3. Модифицированные обратный и дополнительный коды
- •2.4. Упражнения
- •3.Формы представления чисел в эвм
- •3.1. Числа с фиксированной точкой
- •3.2 Числа с плавающей точкой
- •3.3. Особенности нормальной формы в ес эвм
3.1. Числа с фиксированной точкой
Форма записи числа с фиксированной точкой использовалась в основном на ранних этапах развития вычислительной техники. Запись числа с фиксированной точкой обычно имеет знаковый и цифровой разряды. Фиксированная точка означает, что на этапе конструирования ЭВМ было определено, сколько и какие разряды машинного слова отведены под изображение целой и дробной частей числа. Запятая в разрядной сетке может быть зафиксирована, в принципе, после любого разряда.
Пример. Ячейка с целой и дробной частью.
Как частный случай числа с фиксированной точкой может быть рассмотрена запись целого числа (в этом случае все разряды, кроме знакового, используются для записи целой части).
Пример. Ячейка с записью целого числа.
К достоинствам использования чисел с фиксированной точкой относятся простота выполнения арифметических операций и высокая точность изображения чисел. К недостаткам - небольшой диапазон представления чисел.
3.2 Числа с плавающей точкой
Для представления чисел с плавающей точкой (ЧПТ) используется полулогарифмическая форма записи числа:
N = ± mq ± p
где q- основание системы счисления, p - порядок числа, m - мантисса числа N.
Положение точки определяется значением порядка p. С изменением порядка точка перемещается (плавает) влево или вправо. Пример.
12510=12.5*101=1.25*102=0.125*103=0.0125*104=...
Для установления однозначности при записи чисел принята нормализованная форма записи числа. Мантисса нормализованного числа может изменяться в диапазоне: 1/q ≤ | m | < 1. Таким образом в нормализованных числах цифра после точки должна быть значащей.
Пример.
Для представления чисел в машинном слове выделяют группы разрядов для изображения мантиссы, порядка, знака числа и знака порядка: а) представление чисел в формате полуслова
б) представление чисел в формате слова
Наиболее типично представление ЧПТ в формате слова (32 разряда). Пример. Число А=-3.510=-11.12=-0.111·1010
Максимальным числом представимым в формате слова будет A=(0.1111...1·101111111)2(1·2127)10.
Таким образом, числа с плавающей точкой позволяют увеличить диапазон обрабатываемых чисел, но при этом точность изображения чисел определяется только разрядами мантиссы и уменьшается по сравнению с числами с фиксированной точкой. При записи числа в формате слова диапазон представимых чисел будет от -1·2127 до 1·2127 (21271038), а точность определяться мантиссой, состоящей из 23 разрядов. Точность может быть повышена путем увеличения количества разрядов мантиссы. Это реализуется путем представления чисел с так называемой двойной точностью (используется формат двойного слова):
3.3. Особенности нормальной формы в ес эвм
Особенностями нормальной формы в ЕС ЭВМ являются следующие:
1. Смещение числовой оси порядков в область положительных значений для облегчения действий над порядками, не имеющими знака. Обычно 7 разрядов (схема 8) отводится под значение порядка и его знак.
Следовательно, числовая ось порядков находится в диапазоне -26 <= Р <= 26-1 или -64 < =Р <= 63 (Р -порядок числа).
Смещенный порядок (называемый характеристикой) определяется его смещением на +26 == 6410 =4016. В этом случае характеристика Рх = Р + 40 не имеет знака.
Теперь характеристика может принимать значения в диапазоне
и под ее значение, как уже было сказано, отводятся 7 разрядов (максимальное значение порядка 27-1 =127). Очевидно, если Рх = 40, то Р = 0, если Рх < 40, то порядок отрицательный Р < 0, при Рх > 40 — порядок положительный Р > 0. Если Рх < 0 или Рх > 7F, то значение характеристики пропадает и результаты искажаются.
2. Мантиссы и порядки чисел выражаются в шестнадцатиричной системе счисления в двоичном виде, что обеспечивает увеличение диапазона представления чисел, так как изменение характеристики на 1 приводит к сдвигу мантиссы на одну шестнадцатиричную цифру, т. е. сразу на одну двоичную тетраду. Действительно, если в формулу (1.7) подставить s = 16, то
Таким образом, значение порядка увеличилось в 4 раза.
Представим в 32 разрядной сетке формата два числа (знак обозначает равенство чисел в разных системах счисления):
Для этого найдем нормализованные мантиссы и характеристики:
mA= 0,7D08,8, Pxа = 40 + 4 = 44;
mB = -0,7D08,8, pxb = 40 + 4 = 44 (схема 1). Здесь так же, как и при естественной форме хранения числа, его знак определяется по первой шестнадцатиричной цифре кода.
Таким образом две первые шестнадцатиричные цифры кода числа с плавающей запятой определяют характеристику Рх с учетом знака числа (0 или 1 в старшем разряде первой двоичной тетрады). Для положительных чисел две первые шестнадцатиричные цифры кода числа образуются как сумма Рх + 00(16), а для отрицательных - Рх + 80(16).
Схема 1. Представление чисел А и В
Схема 2. Представление чисел С и D
Представим в разрядной сетке (см. схему 2) два других числа: С(10)= 0,015625 ~ С(16) = 0,04 и D(10) = -0,015625 ~ D(16) = 0,04
Для этого найдем нормализованные мантиссы, порядки и характеристики этих чисел:
mC == 0,4; Рc = -1; Pхс = 40-1 = 3F; с учетом знака Pхс + 00(16) = 3F;
mD = -0,4; PD = -1; Pxd == 40-1 = 3F; с учетом знака Pxd + 80(16) = BF.
По шестнадцатиричному коду числа с плавающей запятой нетрудно определить и само десятичное число. Рассмотрим примеры кодов чисел, представленных на схемах 1 и 2.
Код числа A(16) = 447D0880.
Характеристика с учетом знака = 44, первая цифра 4 < 8. Поэтому, число положительное, характеристика Pха = 44(16)-00(16) = 44(16), порядок числа РA =- 44(16)=40(16) – 40(16), а мантисса числа тA = 0,7D088(16). Таким образом, число А(16) = тA • 16PA = 0,7D088•164 = = 7D08,8. Следовательно,
А(10) = 7 • 163 + 13 • 162 + 8 • 160 + 8 • 16-1 =
= 28672 + 3328 + 8 + 0,5 == 32008,5.
Код числа B(16) = C47D0880.
Характеристика с учетом знака = С4, первая цифра С > 7. Поэтому, число отрицательное, характеристика Pхв = C4(16)-80(16) = 44(16), порядок числа РB = 44(16)-40(16) = 4(16), а мантисса числа mB == = -0,7D088(16). Вычисления аналогичны, следовательно, B(16) = -7D08,8, a B(10) = -32008,5.
Код числа C(16) = 3F4400000.
Характеристика с учетом знака == 3F, первая цифра 3 < 8. Поэтому, число положительное, характеристика РXC== 3F(16)-00(16) = 3F(16) , порядок числа Рс == = 3F(16)-40(16) = -1(16), а мантисса числа тC = 0,4(16). Таким образом, число C(16) = тC•16Pc = 0,4- 16-1 == 0,04(16). Следовательно, С(10) = 4 • 16-2 = 0,015625.
Код числа D(16) = BF4400000.
Характеристика с учетом знака = ВF, первая цифра В > 7. Поэтому, число отрицательное, характеристика Pxd = BF(16)-80(16) = 3F(16), порядок числа РD = = 3F(16)-40(16) = -l(16), а мантисса числа тD = -0,4(16). Таким образом, число D(16) = mD • 16PD = -0,4 • 16-1 = = -0,04(16).
Следовательно, D(16) = -4 • 16-2 = -0,015625.