Компьютерная арифметика. § 29. Хранение в памяти вещественных чисел

Слайд 2

Хранение вещественных чисел

С фиксированной запятой (в первых ЭВМ):

для больших и маленьких чисел

Хранение вещественных чисел С фиксированной запятой (в первых ЭВМ): для больших и
нужно масштабирование, которое выполнялось вручную и являлось источником ошибок

0,000000000000012345

123450000000000000,0

С плавающей запятой (автоматическое масштабирование):

положение
запятой

цифры числа

1,2345·10-14

1,2345·1017

Слайд 3

Хранение вещественных чисел

1,2345 = 0,12345·101

1,2345 = 0,012345·102

Представление числа с плавающей запятой не

Хранение вещественных чисел 1,2345 = 0,12345·101 1,2345 = 0,012345·102 Представление числа с
единственно!

1,2345 = 123,45·10-2

1,2345 = 12345·10-4

1,2345 = 0,000012345·105

Слайд 4

Хранение вещественных чисел

Теоретически оптимальный вариант (целая часть = 0):

0,0012345 = 0,12345·10-2

12,345 =

Хранение вещественных чисел Теоретически оптимальный вариант (целая часть = 0): 0,0012345 =
0,12345·102

всегда 0

один разряд расходуется впустую!

Экономный вариант (целая часть от 1 до B):

основание системы счисления

0,0012345 = 1,2345·10-3

12,345 = 1,2345·101

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

Слайд 5

Нормализация

Нормализованная форма: значащая часть Z удовлетворяет условию 1 ≤ Z < B,

Нормализация Нормализованная форма: значащая часть Z удовлетворяет условию 1 ≤ Z Пример:
где B – основание системы счисления (стандарт IEEE 754).

Пример:

17,25 = 10001,012 = 1,0001012·24

5,375 =

7,625 =

27,875 =

13,5 =

0,125 =

Двоичная значащая часть всегда 1, это «скрытая единица», которая в ОЗУ не хранится!

Слайд 6

Диапазон вещественных чисел

Extended – тип для вычислений в сопроцессоре, единица в значащей

Диапазон вещественных чисел Extended – тип для вычислений в сопроцессоре, единица в
части не скрывается.

Single, double – только для хранения.

Слайд 7

Число обычной точности (single)

-17,25 = -10001,012 = -1,0001012·24

Значащая часть вещественных чисел хранится

Число обычной точности (single) -17,25 = -10001,012 = -1,0001012·24 Значащая часть вещественных
в прямом коде

Закодируем число -17,25 в формате single

Т.к.410=1002

-17,25 = -10001,012 = -1,0001012·2100

Значащая часть M = Z-1= 0,0001010…0

Число отрицательное, знаковый разряд равен 1

Как кодируется порядок? Порядок – целое число со знаком, применяется кодирование со смещением Pd=P+d (Pd>0) Для типа single d=12710=7F16

Слайд 8

Число обычной точности (single)

-17,25 = -10001,012 = -1,0001012·24

4 байта = 32 бита

мантисса

Число обычной точности (single) -17,25 = -10001,012 = -1,0001012·24 4 байта =
= дробная часть Z

порядок со смещением

знак

p = 4 + 127 = 131
= 100000112

С

1

8

A

0

0

0

0