Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ieee754.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
144 Кб
Скачать
☆

§4. Описание преобразования чисел по стандарту ieee 754.

4.1 Преобразование двоичного нормализованного числа в 32 битный формат ieee 754

Основное применение в технике и программирование получили форматы 32 и 64 бита. Например, в VB используют типы данных single (32 бита) и double (64 бита). Рассмотрим преобразование двоичного числа 10011011,101 в формат single-precision (32 бита) стандарта IEEE 754. Остальные форматы представления чисел в IEEE 754 является увеличенной копией single-precision.

Чтобы представить число в формате single-precision IEEE 754 необходимо привести его к двоичному нормализованному виду. В §3 мы проделали это преобразование над числом 155,625. Теперь рассмотрим, как двоичное нормализованное число преобразуется к 32 битному формату IEEE 754.

Описание преобразования в 32 битный формат IEEE 754:

  1. Число может быть + или - . Поэтому отводится 1 бит для обозначения знака числа: 0-положительное 1-отрицательное Этот самый старший бит в 32 битной последовательности .

  2. Далее пойдут биты экспоненты, для этого выделяют 1 байт (8 бит). Экспонента может быть, как и число, со знаком + или -. Для определения знака экспоненты, чтобы не вводить ещё один бит знака, добавляют смещение к экспоненте в половину байта +127(0111 1111). То есть, если наша экспоната = +7 (+111 в двоичной), то смещенная экспонента = 7+127=134. А если бы, наша экспонента была -7 , то смещенная экспонета=127-7 =120. Смещенную экспоненту записывают в отведенные 8 бит. При этом, когда нам будет нужно получить экспоненту двоичного числа, мы просто отнимем 127 от этого байта.

  3. Оставшиеся 23 бита отводят для мантиссы. Но, у нормализованной двоичной мантиссы первый бит всегда равен 1, так как число лежит в диапазоне 1<=M<2. Нет смыла, записывать единицу в отведенные 23 бита, поэтому в отведенные 23 бита записывают остаток от мантиссы.

В таблице представлено десятичное число 155,625 в 32-х битном формате IEEE754:

1 бит

8 бит

23 бит

IEEE 754

0

1000 0110

001 1011 1010 0000 0000 0000

431BA000 (hex)

0(dec)

134(dec)

1810432(dec)

знак числа

смещенная экспонента

остаток от мантиссы

число 155,625 в формате IEEE754

В результате десятичное число 155,625 представленное в IEEE 754 c одинарной точностью равно 431BA000 (hex).

4.2 Преобразования числа формата 32 бит ieee 754 в десятичное число

Чтобы записать число в стандарте IEEE 754 или восстановить его, необходимо знать три параметра:

  • S- бит знака (31-й бит)

  • E- смещенная экспонента (30-23 биты)

  • M - остаток от мантиссы (22-0 биты)

Это целые числа которые записанные в числе IEEE 754 в двоичном виде.

Приведём формулу для получения десятичного числа из числа IEEE754 одинарной точности:

где F - десятичное число

Проверяем наш пример: F =(-1)0∙2(134-127)∙(1+ 1810432 / 223)= 27∙(1+0,2158203125)=128∙1,2158203125=155,625

Вывод этой формулы приводить не буду, всё видно и так. Поясню только (1+ M/223) - это мантисса, единица в этой формуле- это та единица, которую мы выбросили из 23 бит, а остаток мантиссы в десятичном виде находим отношением двух целых чисел - остатка мантиссы к целому.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]