Представление вещественных чисел
Оценка 4.8

Представление вещественных чисел

Оценка 4.8
docx
18.11.2021
Представление вещественных чисел
Л2-002062.docx

Представление вещественных чисел

Для представления вещественных чисел используется формат с пла- вающей точкой. Вещественные числа всегда рассматриваются как числа со знаком. Разрядная сетка имеет строго фиксированное число разрядов.


В основе формата лежит представление чисел в экспоненциальной (научной) форме. Число в этой форме записывается в виде мантиссы и порядка:

A = ± M·S ± P,

где M – мантисса,

S основание системы счисления,

p порядок.

Пример. A[10] = 0.0225·103 = 0.225·102 = 2.25·101 = 22.5·100 =225·10- 1 = 22.5

В формате с плавающей точкой кодируется: мантисса, порядок, знак числа и знак порядка. На каждую из кодируемых компонент отводится строго фиксированное число разрядов. Основание системы счисления заранее оговаривается и не кодируется.

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

Способ кодировки мантиссы и порядка в различных ЭВМ может быть разным. Отметим общие подходы при кодировании вещественных чисел.

Кодируемое число предварительно нормализуется. За счет сдвига мантиссы и изменения порядка добиваются выполнения условия

S-1£|M|<1.                          ( 1)

В рассмотренном примере этому условию соответствует запись числа в виде A[10] = 0.225·102.

В нормализованном числе целая часть мантиссы будет нулем, а стар- шая цифра дробной части будет отличной от нуля. Этот прием позволяет отказаться от хранения целой части и закодировать в мантиссе макси- мально возможное количество значащих цифр, то есть добиться макси- мальной точности. Мантисса записывается в прямом коде, причем знак мантиссы (он же знак числа) заносится в старший разряд. Знак положи- тельного числа кодируется как 0, а знак отрицательного как 1.

Порядок кодируется в виде так называемой характеристики. Харак- теристика Z представляет собой смещенный порядок: Z = P + D. Вели- чина смещения D подбирается так, чтобы характеристика для минималь- ного порядка была равна нулю. Этот прием позволяет использовать в качестве характеристики число без знака и не кодировать специально знак порядка. Обобщенный вид формата с плавающей точкой показан на рисунке:

n-1                           0 m-1                                                        0

Знак числа

Характеристика

Мантисса

 

    

 

 

Типичные для персональных ЭВМ варианты формата с плавающей точкой приведены в таблице 3.

 

 

 

Таблица 3


Длина формата

(бит)

Длина Мантиссы,

(бит)

Длина характеристики,

(бит)

Диапазон чисел по мо- дулю в десятичном эк-

виваленте

Точность представления,

(десятичные цифры)

32

23

8

» |10-38| ¸ |1038|

7

64

52

11

» |10-308| ¸ |10308|

15

 

 

Отличия в кодировании вещественных чисел для разных ЭВМ носят количественный и качественный характер. Отличия количественного ха- рактера проявляются в различной длине мантиссы и порядка, а качест- венные – в системе счисления, в которой выполняется нормализация и определение порядка. Чаще всего применяется шестнадцатеричная или двоичная нормализация.

Шестнадцатеричная нормализация. Число нормализуется по рассмот- ренному выше общему правилу (1), чтобы 16-1£|M|<1. В этом случае старшая шестнадцатеричная цифра мантиссы отлична от нуля. Шестна- дцатеричная нормализация обычно используется в универсальных ЭВМ.

Рассмотрим типичный вариант формата.

Длина формата – 32 разряда. Длина мантиссы m=24.

Длина характеристики n=7.

Знак 1 разряд.

Правила формирования характеристики: Z[16] = 40[16] + P[16].

Пример: A[10] = 5.5 Þ A[16] =5.8·160

Нормализуем А[16] =0.58·161.

Получаем   Z[16] = 40+1 = 41

M[16] = 0.58

Знак = 0 (+)

 


4	1	58	00	00

[16]

 


Пример: A[10] = -32.5 Þ A[16] = -20.8·160

Нормализуем А[16] = - 0.208·162

Получаем   Z[16] = 40 +2 = 42

M[16] =0.208

Знак = 1 (-)

 


С	2	20	80	00

[16]

 


Двоичная нормализация. Нормализация выполняется по правилу, не- сколько отличающемуся от общего: за счет сдвига мантиссы и изменения


порядка двоичного числа добиваются выполнения условия 1£|M|<2. В этом случае целая часть мантиссы будет содержать одну двоичную цифру, причем она будет равна единице. Обязательную единицу можно отбросить и в коде не хранить. Это позволяет использовать дополнительный разряд для хранения дробной части и тем самым увеличить точность представления числа. Двоичная нормализация обычно используется в мини и микро- ЭВМ. Рассмотрим типичный вариант формата.

Длина формата – 32 разряда. Число разрядов мантиссы m=23.

Число разрядов характеристики n=8.

Знак 1 разряд.

Правила формирования характеристики: Z[2] = 27 1 + P[2] или   Z[10] = 127[10] + P[10].

Пример: A[10] = 0.75 Þ A[2] =0.11·20

Нормализуем А[2] =1.1·2-1 и отбрасываем старшую единицу. Получаем   Z[10] = 127-1 = 126

M[2] = .10000000000000000000000

Знак = 0 (+)

 

0

011

1111

0

100

0000

0000

0000

0000

0000

3           F          4         0        0        0       0        0[16]

При одинаковых количественных характеристиках (длине мантиссы и длине характеристики) шестнадцатеричная нормализация позволяет получить больший диапазон чисел, но имеет меньшую точность.

 


 

Представление вещественных чисел

Представление вещественных чисел

В основе формата лежит представление чисел в экспоненциальной (научной) форме

В основе формата лежит представление чисел в экспоненциальной (научной) форме

Длина формата (бит) Длина

Длина формата (бит) Длина

M|<2. В этом случае целая часть мантиссы будет содержать одну двоичную цифру, причем она будет равна единице

M|<2. В этом случае целая часть мантиссы будет содержать одну двоичную цифру, причем она будет равна единице
Скачать файл