Информатика. Упражнение 4 Представление чисел с плавающей запятой 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Информатика. Упражнение 4 Представление чисел с плавающей запятой

Поиск

Информатика. Упражнение 4 Представление чисел с плавающей запятой

Цель работы: изучить форматы представления чисел с плавающей запятой, научиться оценивать погрешности представления чисел с плавающей запятой и накапливаемую погрешность при операциях с этими числами.

Запись дробей, очень больших и очень маленьких чисел

В физике, астрономии, химии для записи очень больших и очень маленьких по модулю чисел используют полулогарифмическую форму. Например, расстояние от Земли до Солнца удобнее записывать не в виде

                  149 600 000 км,а так             1.496*108 км, или с меньшей точностью                        1.5*108 км.

Общая формула для полулогарифмического представления чисел имеет вид:

                 x = q*spгде  q  - мантисса,     s - основание,     p - порядок.

Многие физические величины практически можно записать только в полулогарифмической форме, например, масса электрона равна

                9.1091*10-31 кг.

Формат числа с плавающей запятой в ЭВМ

Формат с плавающей запятой подходит для сохранения в памяти в двоичном виде как целых, так и вещественных чисел. Для его использования число представляется в полулогарифмической форме и в нём выделяются две составляющие: мантисса и порядок, которые и хранятся в ячейке памяти. Для определения мантиссы и порядка число нормализуют.

Существует международный стандарт IEEE 754 (первая редакция 1985 г., последняя – 2008 г.), описывающий форматы представления чисел с плавающей точкой. Он определяет пять основных форматов, мы рассмотрим 32-разрядный формат

Для записи числа в память ЭВМ в соответствии со стандартом IEEE 754 оно должно быть нормализовано, т.е. приведено к такому полулогарифмическому виду, чтобы выполнялось условие

     1 ≤ |q| < 2, где q – значащая часть числа  (1)

При выполнении этого условия целая часть q в двоичном выражении всегда будет равна 1, т.е. ведущий бит мантиссы будет равен 1. Поэтому ведущий 1 бит не сохраняется явно в памяти, а подразумевается. Это правило называется ведущей битной конвенцией или скрытой битной конвенцией. Правило позволяет сберечь 1 бит памяти, чтобы иметь ещё один бит точности.

32-разрядный формат числа с плавающей запятой имеет вид:

±

| | | | | |

 

| | | | | | | | | | | | | | | | | | | | | |

 

|30

| 0

 

В одном разряде - знак числа: 0-положительное, 1-отрицательное.

В следующие 8 разрядов записывается порядок числа, или характеристика. Порядок, как и число, может быть со знаком + или -. Чтобы не вводить ещё один бит знака, добавляют смещение к порядку, в случае 32-разрядного формата его величина составляет половину байта +127 (0111 1111). То есть, если наш порядок = +7, то смещенный порядок = 7+127=134. А если бы порядок был -7, то смещенный порядок =127-7 =120.

В оставшиеся 23 разряда помещается мантисса. Т.к. у нормализованного двоичного числа первый бит всегда равен 1, то его не сохраняют, а в отведенные 23 бита записывают оставшуюся часть числа, мантиссу.

Рассмотрим представление в памяти  в форме с плавающей запятой числа Х = 12.5. Чтобы получить нормализованный вид числа Х, можно поступить следующим образом:

1) Перевести Х в двоичную систему счисления Х = 12.510 = 1100.12 и выполнить нормализацию, сдвинув десятичную точку так, чтобы выполнялось условие (1)
Х = 1100.12=1.10012*23    или

2) Нормализовать число Х в десятичном виде, разделив его на такую степень числа 2, которая имеет значение, ближайшее меньшее по отношению к Х (тогда выполняется условие (1)), и полученное нормированное число перевести в двоичную систему
X= 12.510 = (12.5/23)*23 =1.562510 *23 = 1.10012*23

Результат получается одинаковым.

В нашем примере порядок числа составляет 3, это степень числа 2, смещенный порядок 127+3=130=(1111111+11)2=100000102. Мантисса имеет значение 1.1001-1=0.1001

В 32-разрядной ячейке памяти число x выглядит так:

1001000 . . . . . . . . . . . . . . 0

 

+

 

0.5625

 

Самое большое число с плавающей запятой в 32-битном формате определяется порядком 12710 (порядок 128 имеет специальное значение), само наибольшее значение равно (1-2-24)*2128, что составляет примерно 3.4028*1038. Наименьшее положительное число, представимое в данном формате, равно 2-126 или 1.1755*10-38.

Количество двоичных знаков в числе Х определяется количеством разрядов в мантиссе. В рассматриваемом 32-разрядном формате длина мантиссы 23 двоичных разряда + 1 разряд по умолчанию, что составляет 24 разряда. При этом количество десятичных знаков

        24*log102 ≅ 7.22 ≅ 7.


Поделиться:


Последнее изменение этой страницы: 2024-06-17; просмотров: 56; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.196 (0.006 с.)