Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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

Представление числа в нормализованном экспоненциальном виде.

Возьмем, к примеру, десятичное число 155, 625

Представим это число в нормализованном экспоненциальном виде: 1, 55625∙ 10+2=1, 55625∙ exp10+2

Число 1, 55625∙ exp10+2 состоит из двух частей: мантиссы M=1.55625 и экспоненты exp10=+2

Если мантисса находится в диапазоне 1< =M< 10, то число считается нормализованным.

Экспонента представлена основанием системы исчисления (в данном случае 10) и порядком (в данном случае +2).

Порядок экспоненты может иметь отрицательное значение, например число 0, 0155625=1, 55625∙ exp10-2.

 

Представление числа в денормализованном экспоненциальном виде.

Возьмем, к примеру, десятичное число 155, 625

Представим это число в денормализованном экспоненциальном виде: 0, 155625∙ 10+3=0, 155625∙ exp10+3

Число 0, 155625∙ exp10+3 состоит из двух частей: мантиссы M=0, 155625 и экспоненты exp10=+3

Если мантисса находится в диапазоне 0, 1< =M< 1, то число считается денормализованным.

Экспонента представлена основанием системы исчисления (в данном случае 10) и порядком (в данном случае +3).

Порядок экспоненты может иметь отрицательное значение, например число 0, 0155625=0, 155625∙ exp10-3.

 

Преобразование десятичного числа в двоичное число с плавающей точкой.

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

155, 625 = 1∙ 27 +0∙ 26+0∙ 25+1∙ 24+1∙ 23+0∙ 22+1∙ 21+1∙ 20+1∙ 2-1+0∙ 2-2+1∙ 2-3

155, 625 =128 + 0 + 0 + 16 + 8 + 0 + 2 + 1 + 0, 5 + 0 + 0, 125

155, 62510 = 10011011, 1012 - число в десятичной и в двоичной системе с плавающей точкой

 

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

1, 55625∙ exp10+2 = 1, 0011011101∙ exp2+111

В результате мы получили основные составляющие экспоненциального нормализованного двоичного числа:

Мантиссу M=1, 0011011101

Экспоненту exp2= +111

 

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

Основное применение в технике и программирование получили форматы 32 и 64 бита.

Например, в VB используют типы данных single (32 бита) и double (64 бита).

В Си аналогично используют float (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

 

31 бит 30-23 биты 22-0 биты IEEE 754
  1000 0110 001 1011 1010 0000 0000 0000 431BA000 (hex)
0(dec) 134(dec) 1810432(dec)  
знак числа смещенная экспонента остаток от мантиссы число 155, 625 в формате IEEE754

 

<== предыдущая лекция | следующая лекция ==>
Практические задания. 1. Назовите филологические дисциплины, которые могут заинтересоваться перечисленными ниже языковыми явлениями | Методика выполнения.




© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.