Контрольная работа: Вещественные числа. Способы представления и хранения в ЭВМ
Задание 1. Считать из памяти (найти Х10 ) число, представленное в классическом двоичном формате.
X= -0.10100*2-3 = -19/32*2-3 = -19/256.
Задание 2 Х= +7 представить в классическом двоичном формате (n=5, m=3). X= +7 = 111.1012 = 0.111101*2+3
0 11110 0 0112
2.3 Машинные форматы вещественных данных
В различных алгоритмических языках принятые стандарты описываются разными ключевыми словами.
В языке Turbo-Pascal определены следующие типы вещественных чисел: single, Real, double, extended и comp.
Типы вещественных чисел в языке Turbo-Pascal приведены в таблице 1.
Таблица 1. Типы вещественных чисел в языке Turbo-Pascal
Название типа | Длина в байтах | Мантисса (десятичных значащих цифр) | Диапазон десятичного порядка |
single | 4 | 7… 8 | -45..+38 |
real | б | 11…12 | -39..+38 |
double | 8 | 15…16 | -324..+308 |
Во всех типах мантисса хранится в прямом коде (ПК). Порядок (или экспонента е) задается в так называемой смещенной форме. Смещение выбирается так, чтобы характеристика была целым положительным числом (тогда знак характеристики хранить не требуется).
Смещение для типа real =129, для типа single =127, для типа double =1023.
Смещенный порядок (характеристика Е) равен истинному порядку П, увеличенному на величину смещения, т.е. Е=П+смещение.
Если 0<Е<255, то значение числа X определяется по правилу:
дляформат single: X = f (S, E, M) = (-l)S -2(E -l27) (1.M);
дляформата real: X = f (S, M, E) = (-l)S -2(E -l29) (1.M), где S=0 или 1.
2.4 Внутреннее представление вещественных данных
Формат Single (4 байта)
31 30 23 22 0
S | E (8 бит) | M(23 бита) |
если 0<E<255, то (-1)s *2( E -127) *(1.M)
если E=0 и M≠255, то (-1)s *2( E -127) *(1.M)
1. X= f (S, E, M) = если E=0 и M=0, то (-1)s *0
если E=255 и M=0, то (-1)s *∞
если E=255 и M≠0, то X-нечисло (NAN, Not-a-Number).
Формат real (6 байт)
47 46 8 7 0
S | M (39 бит) | Е (8 бит) |
0, если е=0
Х = f(S, M, E) =
(-1)S *2( E -129) *(1.М), если 0<Е<255
Формат double (8 байтов)