Студопедия

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

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

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






Бесконечности






 

В число с плавающей запятой можно записать значение или . Бесконечности позволяют получить хотя бы близкий к правильному результат вычисления в случае переполнения. Согласно стандарту IEEE 754 число с плавающей запятой считается равным бесконечности, если все двоичные разряды его порядка - единицы, а мантисса равна нулю. Знак бесконечности определяется знаковым битом числа.

Получить бесконечность можно при переполнении и при делении ненулевого числа на ноль. При этом

NaN - это аббревиатура от фразы " not a number". NaN является результатом арифметических операций, если во время их выполнения произошла ошибка. В IEEE 754 NaN представлен как число, в котором все двоичные разряды порядка - единицы, а мантисса не нулевая.

 

Минимальное значение числа формата float:

 

Минимальному смещенному поряду 000000012 = 110 соответствует реальный порядок числа рmin = 1 – 127 = -126 (порядок 000000002 зарезервирован для представления денормализованных чисел).

Минимальное значение мантиссы 1, 0000 0000 0000 0000 0000 0002, что соответствует 1 в 10 с.с.

Таким образом, минимальное нормализованное число в формате float получается равным:

1× 2-126 ≈ 1.175494 × 10-38

 

Денормализованные числа (denormalized/subnormal numbers - DeN) - это способ увеличить количество представимых числом с плавающей запятой значений около нуля, для повышения точности вычислений. Каждое значение денормализованного числа меньше самого маленького нормализованного (" обычного") значения числа с плавающей запятой. Согласно стандарту:

1.Е сли порядок равен своему минимальному значению (000000002 = -12710) и все биты мантиссы равны нулю, то это . Знак нуля определяется значением знакового разряда.

2. Если же порядок равен (000000002), а мантисса не равна нулю, то это число с порядком, на единицу большим минимального (-126) и данной мантиссой, целая часть которой считается равной нулю, а не единице. Таким образом минимальное положительное денормализованное число в формате float:

 

0 0000 0000 0000 0000 0000 0000 0000 0012 = 1 × 2-23 × 2-126 ≈ 1.401298 × 10-45

 

Хоть денормализованные числа и позволяют бороться с погрешностями и обрабатывать очень маленькие значения, за эти возможности приходится дорого платить. Ввиду сложности обработка денормализованных чисел крайне редко реализуется на аппаратном уровне - вместо этого используются программные реализации, работающие значительно медленнее. В современных процессорах обработка денормализованных чисел происходит в десятки раз медленнее, чем обработка нормализованных чисел.






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