Вещественные числа. Способы представления и хранения в ЭВМ

Контрольнаяработа
«Вещественные числа:способы представления и хранения в ЭВМ»
Рязань, 2006 г.

1. Цельработы
1. Изучениеосновных типов данных с плавающей точкой, принятых стандартов и ихпредставление в современных ЭВМ.
2. Наработкапрактических навыков обращения с вещественными числами на компьютере (запись,считывание, хранение).

2. Теоретическаячасть
2.1 Вещественныечисла
Вещественныечисла (REAL) – числа, имеющие дробную часть. Для их представления в компьютереиспользуется так называемое представление с плавающей точкой (ПТ), основанноена алгебраической записи чисел в виде:
X = ±Mxq±Пх
плавающийвещественный число компьютер
где q – основаниесистемы счисления;
Пх– порядок числа (целое);
Мх – мантисса (значащая часть числа), обычнопредставляется дробью:
Mx = ±0.d1d2… dn.
Условие di≠0 является характерным признакомнормализованного числа в ФПТ. Нормализованное представление используется дляоднозначной записи вещественных чисел. Для нормализованной двоичной мантиссы (q=2) диапазон определяетсянеравенством 2-1 ≤ |Мх|
Мантисса числа X в общем виде записывается соответственно как
а) Мх =.d0d1d2d3d4, где di {0,1};
б) Мх = d0.d1d2d3d4, где di {0,1}.
Разряд d0в нормализованных числах всегда равен «1» и в памяти компьютеране хранится («скрытый бит»). Таким образом, мантисса, хранящаяся в памятикомпьютера всегда число дробное. (Рис. 1)
d1 d2 d3 d4…
↑ ↑
«скрытый» бит место точки
Рис. 1. Представление n-разрядной мантиссы

Форма представления чисел с ПТ позволяет значительно увеличитьдиапазон и точность представления чисел при той же длине разрядной сетки что идля чисел с ФТ.
2.2 Представление в памяти
Вещественные числа в отличие от целых представляются и хранятся в памятив прямом коде, их представление стандартизовано. Согласно стандарту 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
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
для формат 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 0S E (8 бит) M (23 бита)

если 0
если 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 0S M (39 бит) Е (8 бит)
0, если е=0
Х = f (S, M, E) =
(-1)S*2(E-129) *(1.М), если 0
Формат double (8 байтов)
63 62 52 51 0S E (11 бит) M (52 бита)
Х = (-1)s*2(E-01023)*(1.M).

3. Практическаячасть
Считываниевещественных чисел из памяти ЭВМ.
Регистрация:
– выбратьпункт меню «Информатика»;
– впоявившемся подменю выбрать пункт GR440;
– послепоявления приглашения D:\INFORM\GR440 запустить рабочую среду, набрав наклавиатуре Lab6и нажав [Enter].
Задание 1. Число -23 представить в ФПТ в форматах single, real и double и разместить в памятиПК, начиная с адреса ds: OOCOh. Результаты преобразования и перехода отзначения числа к представлению его в памяти занести в таблицу 2.
Таблица 2. Переходот X10 к отображению в памятиЧисло Алгебраическая запись Формат 16-ричное представление числа Адрес Отображение в памяти -23
-1.0111*2+4 single С1 B8 00 00 ds:00C0h 00 00 B8 C1 -23
-1.0111*2+4 real B8 00 00 00 00 85 ds:00C8h 85 00 00 00 00 B8 -23
-1.0111*2+4 double C0 37 00 00 00 00 00 00 ds:00D0h 00 00 00 00 00 00 37 C0
Комментарии ктаблице 2:
Х=-23=-1.01112=-1.0111*2+4
В формате single:
порядок Е=4+127=131=83h=100000112
Sg E M
Х: 1 1000001101110000000000000000000
Х: 1100 00011011 1000 0000 0000 0000 0000
Х: C 1 B 8 0 0 0 0
Число Х=-23 вформате single в 16-ричной СС представляется как Х: С1В80000h и отображается в памятив обратном порядке Х:00 00 В8 С1.
В формате real:
порядок Е=4+129=133=85h=100001012
Sg M E
Х: 1 01110000000000000000000000000000000000010000101
Х: 1011 10000000 0000 0000 0000 0000 0000 0000 0000 1000 0101
Х: B 8 0 0 0 0 0 0 0 0 8 5
Число Х=-23 вформате real в 16-ричной СС представляется как Х: В80000000085h и отображается в памятив обратном порядке Х:85 00 00 00 00 В8.
В формате double:
порядок E=4+1023=1027=403h=100000000112
Sg E M
Х: 1 100000000110111000000000000000000000000000000000000000000000000
Х: 1100 00000011 0111 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
Х: C 0 3 7 0 0 0 0 0 0 0 0 0 00 0
Число Х=-23 вформате double в 16-ричной СС представляется как Х: С037000000000000h и отображается в памятив обратном порядке Х:00 00 00 00 00 00 37 С0.
Задание 2.По адресамds:2h, ds:2ah, ds:66h считать из памяти числа,в режиме отображения byte, представленные в форматах single, real и double, и найти их десятичныйэквивалент. Результаты представить в виде таблицы 3.
Вариант 8(адреса: ds:1Eh, ds:54h, ds:9Eh)
Установить подокно с отображением оперативной памяти (ОП) наобласть, начинающуюся с адреса ds:1Eh:
– Ctrl+G;
– В открывшемся диалоговом окне набрать адрес ds:1Eh и нажать ;
Установить режим отображения byte, после чего нажать ;
– ALT+F10;
– Переместите курсор на пункт Display as и нажмите ;
– Выберите требуемый режим отображения (byte) и нажмите ;
– Перенести представление числа в памяти, расположенного по адресуds:1Eh, в Таблицу 2.
Установить подокно с отображением оперативной памяти (ОП) наобласть, начинающуюся с адреса ds:54h:
– Ctrl+G;
– В открывшемся диалоговом окне набрать адрес ds:54h и нажать ;
– Перенести представление числа в памяти, расположенного по адресуds:1Eh, в Таблицу 2.
Установить подокно с отображением оперативной памяти (ОП) наобласть, начинающуюся с адреса ds:9Eh:
– Ctrl+G;
– В открывшемся диалоговом окне набрать адрес ds:9Eh и нажать ;
– Перенести представление числа в памяти, расположенного по адресуds:1Eh, в Таблицу 3.
 
Таблица 3. Переходот отображения в памяти к Х10Адрес Формат ds:0002h single ds:002аh real ds:0066h double

Списоклитературы
1.Информатика, ч.I: Методические указания к лабораторным работам / Сост. Н.И. Иопа.– Рязань: РГРТА 2002.
2.Информатика. Базовый курс / С.В. Симонович и др. СПб.: Питер, 2001, с. 114–120.
3.Шафрин Ю.А. Информационные технологии. М.: Лаборатория Базовыхзнаний, 1998, с. 164–179.