IEEE 754

spais

Регистрация
4 Июн 2018
Сообщения
37
Реакции
102
Данный стандарт разработан ассоциацией IEEE (Institute of Electrical and Electronics Engineers) и используется для представления вещественных чисел (чисел с плавающей точкой) в двоичном коде. Наиболее используемый стандарт для вычислений с плавающей точкой, используется многими микропроцессорами и логическими устройствами, а также программными средствами.

Полное название стандарта в ассоциации IEEE:
· IEEE Standard for Binary Floating-Point Arithmetic (ANSI/IEEE Std 754-1985)

· IEEE стандарт для двоичной арифметики с плавающей точкой (ANSI/IEEE Std 754-1985)


Стандарт IEEE 754-1985 определяет:
· как представлять нормализованные положительные и отрицательные числа с плавающей точкой
· как представлять денормализованные положительные и отрицательные числа с плавающей точкой
· как представлять нулевые числа
· как представлять специальную величину бесконечность (Infinity)
· как представлять специальную величину "Не число" (NaN или NaNs)
· четыре режима округления
IEEE 754-1985 определяет четыре формата представления чисел с плавающей запятой:
· с одинарной точностью (single(float)-precision) 32 бита
· с двойной точностью (double-precision) 64 бита
· с одинарной расширенной точностью (single-extended precision) >=43 бит (редко используемый)
· с двойной расширенной точностью (double-extended precision) >= 79 бит (обычно используют 80 бит)



1551368915873.png
где:
· S - бит знака, если S=0 - положительное число; S=1 - отрицательное число
· E - смещенная экспонента двоичного числа; exp2 = E - (2(b-1) - 1) - экспонента двоичного нормализованного числа с плавающей точкой (2(b-1) -1) - заданное смещение экспоненты (в 32-битном ieee754 оно равно +127 см.выше)
· M - остаток мантиссы двоичного нормализованного числа с плавающей точкой


1551368980954.png


Для двоичных цифр размер 2 4 8 16(в 32 разрядной ос 10 байт в С++ если использовать вместо __float128 long double) соответственно

Точность 3 7 16 34(для 32 разрядной не факт в С++ если использовать вместо __float128 long double) соответственно
 
Сверху Снизу