Цель работы
1. Изучение основных типов данных с плавающей точкой, принятых стандартов и их представление в современных ЭВМ.
2. Наработка практических навыков обращения с вещественными числами на компьютере (запись, считывание, хранение).
Теоретическая часть
Вещественные числа
Вещественные числа (REAL) – числа, имеющие дробную часть. Для их представления в компьютере используется так называемое представление с плавающей точкой (ПТ), основанное на алгебраической записи чисел в виде:
X = ±Mxq±Пх
плавающий вещественный число компьютер
где q – основание системы счисления;
Пх – порядок числа (целое);
Мх – мантисса (значащая часть числа), обычно представляется дробью:
Mx = ±0.d1d2… dn.
Условие di≠0 является характерным признаком нормализованного числа в ФПТ. Нормализованное представление используется для однозначной записи вещественных чисел. Для нормализованной двоичной мантиссы (q=2) диапазон определяется неравенством 2-1 ≤ |Мх| <1. Знак числа определяется знаком мантиссы.
|
|
Мантисса числа X в общем виде записывается соответственно как
а) Мх =.d0d1d2d3d4, где di {0,1};
б) Мх = d0.d1d2d3d4, где di {0,1}.
Разряд d0 в нормализованных числах всегда равен «1» и в памяти компьютера не хранится («скрытый бит»). Таким образом, мантисса, хранящаяся в памяти компьютера всегда число дробное. (Рис. 1)
d1 d2 d3 d4…
↑ ↑
«скрытый» бит место точки
Рис. 1. Представление n-разрядной мантиссы
Форма представления чисел с ПТ позволяет значительно увеличить диапазон и точность представления чисел при той же длине разрядной сетки что и для чисел с ФТ.
Представление в памяти
Вещественные числа в отличие от целых представляются и хранятся в памяти в прямом коде, их представление стандартизовано. Согласно стандарту IEЕЕ – 754 для ПК IBМ PC вводят три машинных формата:
– одинарной точности (4 байта);
– двойной точности (8 байт);
– расширенной точности (10 байт).
Некоторые фирмы разработчики ПО используют нестандартные форматы (в компиляторе языка Pascal фирмы Borland используется формат длиной б байтов).
Представление вещественных чисел в классическом двоичном формате
Представление вещественных чисел в классическом двоичном формате имеет четыре поля используется в старых ЭВМ.
Задание 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
Машинные форматы вещественных данных
В различных алгоритмических языках принятые стандарты описываются разными ключевыми словами.
|
|
В языке 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.