Моя страничка


Download 1.33 Mb.
bet8/48
Sana07.03.2023
Hajmi1.33 Mb.
#1243704
1   ...   4   5   6   7   8   9   10   11   ...   48
Bog'liq
lections

7.2. Числа с плавающей точкой


Для представления вещественных чисел используется форма чисел с плавающей точкой. Такое представление основано на записи числа в экспоненциальном виде:
- нормальная форма. Нормальная форма представления чисел неоднозначна. Например, десятичное число можно представить Для однозначности используется нормализованная форма, в которой положение точки всегда задается перед первой значащей цифрой мантиссы, т.е. мантисса должна быть меньше 1 и первая значащая цифра – не ноль (0.7328 х 102). В память ПК мантисса представляется как целое число, содержащее только значащие цифры (0 целых и запятая не хранятся). Следовательно, внутреннее представление вещественного числа сводится к представлению пары чисел: мантиссы и порядка. Таким образом часть разрядов памяти, отводимой под вещественное число используется для хранения порядка числа р, а остальные - разряды для хранения мантиссы:
Порядок числа и мантисса хранятся в двоичном коде. Точность вычислений зависит от длины мантиссы, а порядок числа определяет допустимый диапазон представления действительных чисел. В IBM-совместимых компьютерах используется три формата представления данных в форме с плавающей точкой (32 разряда, 64 разряда и 80 разрядов), позволяющие определить три диапазона для положительных вещественных чисел: от 1,5х10-45 до 3,4х1038, от 5х10-324 до 1,7х10308 и от 1,9х10-4951 до 1,1х104932. Для представления положительных чисел в знаковый разряд записывается 0, а для отрицательных - 1.
В качестве примера рассмотрим внутреннее представление вещественного числа в 4-х байтовой ячейке памяти.

31







24

23







0

Знак

Порядок

Мантисса

В старшем бите первого байта хранится знак числа (0 –«+», 1 – «-»). Оставшиеся 7 бит отводятся под машинный порядок. В следующих трех байтах хранятся значащие цифры мантиссы (24 разряда).
В семи двоичных разрядах помещаются двоичные числа в диапазоне от 0000000 до 1111111. Следовательно, машинный порядок изменяется в диапазоне от 0 до 27. Порядок может быть и положительным и отрицательным (-64 до 63).
Машинный порядок смещен относительно математического порядка и имеет только положительные значения. Минимальному математическому значению порядка соответствует 0: Мр=р+64.
В двоичной СС эта формула имеет вид:
Мр22+100 00002

Пример: Записать внутреннее представление числа 250,1875 в форме с плавающей точкой.



  1. Переведем число в 2-ю СС.

250,1875=1111 1010, 0011 0000 0000 00002 (24 значащие цифры)
2. Запишем в форме нормализованного числа с плавающей точкой
0, 1111 1010 0011 0000 0000 00002 х 1021000
3. Вычислим машинный порядок в двоичной СС.
Мр2=1000+100 0000= 100 1000
4. Запишем представление числа с учетом знака в 4-байтовой ячейке памяти:

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

1

0

0

1

0

0

0

1

1

1

1

1

0

1

0

0

0

1

1

0

0

0

0

0

0

0

0

0

0

0

0

4 байт

3 байт

2 байт

1 байт

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



Download 1.33 Mb.

Do'stlaringiz bilan baham:
1   ...   4   5   6   7   8   9   10   11   ...   48




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling