Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

Представления чисел IEEE 754

Определение 1

IEEE 754 — это повсеместно применяемый стандарт, который описывает форму отображения чисел с плавающей точкой.

Общие сведения о стандарте IEEE 754

Стандарт IEEE 754 является стандартом, предназначенным для двоичной арифметики с плавающей точкой. Этот стандарт был создан ассоциацией IEEE (Instίtute of Electrίcal and Electronίcs Engίneers) и применяется для отображения действительных чисел (чисел с плавающей точкой) в двоичном формате. IEEE 754 считается самым используемым стандартом для вычислений с плавающей точкой. Он применяется большинством микропроцессоров и логических устройств, а также программным обеспечением.

Полное наименование стандарта в ассоциации IEEE представлено следующим образом: IEEE Standard for Bίnary Floatίng-Poίnt Arίthmetic (ANSI/IEEE Std 754-1985), что переводится как, IEEE стандарт для двоичной арифметики с плавающей точкой (ANSI/IEEE Std 754-1985).

Наименование стандарта в международной электротехнической комиссии IEC определено как, IEC 60559:1989, Bίnary floatίng-point arithmetίc for mίcroprocessor systems. Что в переводе означает IEC 60559:1989 двоичная арифметика с плавающей точкой для микропроцессорных систем. IEC 559:1989 является старым обозначением стандарта.

В 2008-ом году ассоциация IEEE подготовила стандарт IEEE 754-2008, в который вошел стандарт IEEE 754-1985.

Представление чисел в стандарте IEEE 754

Следует подчеркнуть, что организация IEEE была преобразована из международной общественной инженерной организации, которой она и являлась изначально, фактически в торговую организацию. Данная организация обладает авторскими правами на публикацию стандарта IEEE754-1985. По этой причине каждый пользователь, который желает изучить оригинал стандарта, должен приобрести его за сумму порядка восьмидесяти долларов. Однако законодательство Российской Федерации позволяет в учебных целях рассматривать и изучать данный стандарт бесплатно. Стандарт IEEE 754-1985 призван определить следующие моменты:

«Представления чисел IEEE 754» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ
  1. Правила представления нормализованных положительных и отрицательных чисел с плавающей точкой.
  2. Правила представления денормализованных положительных и отрицательных чисел с плавающей точкой.
  3. Правила представления нулевых чисел.
  4. Правила представления специальной величины бесконечность (Infίnity).
  5. Правила представления специальной величины «Не число» (NaN или NaNs).
  6. Правила четырех режимов округления.

Стандарт IEEE 754-1985 призван определить следующие форматы представления чисел с плавающей запятой:

  1. Формат, имеющий одинарную точность (sίngle-precίsion) 32 бита.
  2. Формат, имеющий двойную точность (double-precίsion) 64 бита.
  3. Формат, имеющий одинарную расширенную точность (sίngle-extended precίsion) >=43 бит. Необходимо отметить, что он используется редко.
  4. Формат, имеющий двойную расширенную точность (double-extended precίsion) >= 79 бит, Как правило применяют 80 бит.

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

156,625

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

$1,56625∙10^{+2}=1,56625∙exp_{10}^{+2}$

Данное число $1,56625∙exp_{10}^{+2}$ имеет в своем составе следующие составные части:

  1. Мантиссу M=1.56625.
  2. Экспоненту $exp_{10}=+2$

Когда мантисса расположена в диапазоне $1≤M∠10$, то такое число должно считаться как нормализованное.

Экспонента должна представляться основанием системы счисления, которое в рассматриваемом случае равно десяти, и порядком, равным в этом случае плюс двум.

Порядок экспоненты может обладать и отрицательным значением. К примеру, это может быть число:

$0,0156625=1,56625∙exp_{10}^{-2}$

Далее рассмотрим представление числа в денормализованном экспоненциальном формате. Предположим имеется следующее десятичное число 156,625. Приведем данное число к денормализованному экспоненциальному виду:

$0,156625∙10^{+3}=0,156625∙exp_{10}^{+3}$

Данное число $0,156625∙exp_{10}^{+3}$ имеет в своем составе следующие составные части:

  1. Мантиссу M=0,156625.
  2. Экспоненту $exp_{10}=+3$/

Когда мантисса расположена в диапазоне $0,1≤M∠1$, то это число должно считаться денормализованным.

Экспонента должна представляться основанием системы исчисления, которое в рассматриваемом случае равно десяти, и порядком, равным в этом случае плюс трем. Порядок экспоненты может обладать также и отрицательным значением. К примеру, это может быть число:

$0,0156625=0,156625∙exp_{10}^{-3}$.

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

$156,625 = 1∙2^7+0∙2^6+0∙2^5+1∙2^4+1∙2^3+0∙2^2+2∙2^1+1∙2^0+1∙2^{-1}+0∙2^{-2}+1∙2^{-3}$

$156,625 =128 + 0 + 0 + 16 + 8 + 0 + 2 + 2 + 0,5 + 0 + 0,125$

Это число в десятичной и в двоичной системе с плавающей точкой имеет следующее представление:

$156,625_{10} = 10011110,101_2$

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

$1,56625∙exp_{10}^{+2} = 1,0011101101∙exp_2^{+111}$

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

  1. Мантисса M=1,0011101101.
  2. Экспонента exp2= +111.

Далее рассмотрим преобразование двоичного нормализованного числа в 32 битный формат IEEE 754. Главное использование в технике и программировании нашли форматы 32 и 64 бита. К примеру, в языке программирования Vίsual Basίc (VB) применяют типы данных sίngle (32 бита) и double (64 бита). А в языке Си по аналогии применяют float (32 бита) и double (64 бит). Для того чтобы отобразить число в формате sίngle-precίsion IEEE 754, следует преобразовать его в двоичный нормализованный вид. Это преобразование было описано выше.

Дата написания статьи: 02.08.2022
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot