- •С использованием смещения
- •При изменении разрядности числа () требуется пересчет числа
- •С использованием двоично-дополнительного кода
- •С отрицательным показателем
- •Симметричная
- •Кодирование двоичных потоков
- •Внутреннее представление вещественных чисел
- •С фиксированной точкой
- •С плавающей точкой
- •Денормализованные вещественные числа
- •Преобразование десятичного числа в двоичное представление
- •Перевод числа в двоичную систему
- •Нормализация – разложение на мантиссу и экспоненту основания (2) системы счисления
- •Вычисление конечной экспоненты числа (т.Е. Характеристики)
- •Корректировка мантиссы числа
- •Запись результата
- •Округление вещественных чисел
- •Ссылки по теме
Денормализованные вещественные числа
Денормализированное число – это число меньшее минимального числа, которое может быть задано соответствующим представлением. Их использование позволяет увеличить предельные границы вещественных чисел в особо мелких операциях. Чем меньше денормализованное число, тем большая будет погрешность от его применения и тем медленнее с ним работает процессор. Некоторые платформы вообще не поддерживают денормализованных чисел.
Чем меньше число, тем меньше его экспонента и соответственно, характеристика (см.ниже). Настает момент, когда характеристика числа становится равна нулю, но мантисса по-прежнему содержит какое-то ненулевое значение. Это и есть денормализованное число. Оно отличается от нормализованного тем, что у него характеристика установлена в 0, и означает, что сведения о размере числа полностью содержатся в мантиссе.
Какое именно число представлено денормализованно? Это всегда единица в сверхмелкой степени. Т.о. мантисса становится экспонентой, а мантиссой становится единица.
Специальные представления
Нули: положительный и отрицательный
Мантисса и характеристика равны нулю. Знак = 0|1.
<1|0><00…0><00…0>
Бесконечности: положительная и отрицательная
<1|0><11…1><10…0>
Не числа: qNaNи sNaN
Нечисла бывают спокойными и сигнальными. К появлению нечисел приводят попытки выполнения недопустимых операций (например, деления 0 на 0). В отличие от спокойных нечисел, сигнальные генерируют прерывания, в ходе обработки которых сигнальные нечисла обычно заменяются на тихие.
Все операции с NaNдают NaN.
Поддержка устройством нечисел, ясен ясень, усложняет его устройство и тормозит его работу, поэтому от их применения отказываются довольно часто.
Представление:
-
qNaN – (quiet Not a Number) тихое нечисло
<x><11…1><10xxx…x>
-
sNaN – (signaling Not a Number) сигнальное нечисло
<x><11…1><11xxx…x>
Одним из сигнальных нечисел является неопределенность:
<1><11…1><11000…0>
Преобразование десятичного числа в двоичное представление
-
Перевод числа в двоичную систему
-
Нормализация – разложение на мантиссу и экспоненту основания (2) системы счисления
Мантисса = , экспонента =
-
Вычисление конечной экспоненты числа (т.Е. Характеристики)
Для представления экспоненты используется представление со смещением.
-
Вычисляется, как и положено этому способу представления:
-
Смещение у всех типов разное, но традиционно для этого способа представления составляет половину от максимального значения экспоненты, предпочтение отдается положительному интервалу, т.е. он на 1 больше. Иначе говоря:
Например, для 5 бит это , для 11 бит это
-
Корректировка мантиссы числа
Для представления мантиссы используется представление с выделением 1 бита под знак.
-
Происходит обрезание мантиссы под конкретный тип данных и если данный тип не extended, то первая единица отбрасывается.
-
Если число невозможно представить в двоичном формате точно, то оно округляется к ближайшему из возможных. Если округляемое число находится точно посередине между двумя ближайшими вариантами, используется округление к четному (см.ниже).
– округлено к ближайшему