Lt304888.ru

Туристические услуги

Число одинарной точности

02-07-2023

Число́ одина́рной то́чности (англ. Single precision, Single) — компьютерный формат представления чисел, занимающий в памяти одну ячейку (компьютерное слово; в случае 32-битного компьютера — 32 бита или 4 байта). Как правило, обозначает формат числа с плавающей точкой стандарта IEEE 754.

Числа одинарной точности с плавающей точкой обеспечивают относительную точность 7-8 десятичных цифр и масштабы в диапазоне от 10^−38 до примерно 10^38

Числа одинарной/двойной/расширенной точности (32, 64 и 80 бит) поддерживаются на аппаратном уровне сопроцессором (FPU — Floating Point Unit)

Знак
Экспонента Мантисса
0 0 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0  = 0,15625
31 24 23 16 15 8 7 0

Для вычисления показателя степени из восьмиразрядного поля экспоненты вычитается смещение экспоненты равное 12710 = 7F16 = 011111112, (то есть, 011111002 - 011111112 = 12410 - 12710 = -310). Так как в нормализованной двоичной мантиссе целая часть всегда равна единице, то в поле мантиссы записывается только её дробная часть. Для вычисления мантиссы к единице добавляется дробная часть мантиссы из 23-х разрядного поля дробной части мантиссы 1,010000000000000000000002. Число равно произведению мантиссы со знаком на двойку в степени экспоненты = 1,012*210-310 = 1012*210-510 = 510*210-510 = 0,1562510.

Общий шаблон для побитового доступа

union
{
  float fl;
  DWORD dw;
} f;
int s = ( f.dw >> 31) ? -1 : 1;
int e = ( f.dw >> 23) & 0xff;
int m = ( e == 0) ? ( f.dw & 0x7fffff) << 1 : ( f.dw & 0x7fffff) | 0x800000;       
    e = (e - 127);

Результирующая формула расчёта будет s * m * 2 ^ e.

См. также

Ссылки

  • Онлайн IEEE754 калькулятор
  • Онлайн преобразователь для IEEE 754 чисел с одинарной точностью


Число одинарной точности.

© 2020–2023 lt304888.ru, Россия, Волжский, ул. Больничная 49, +7 (8443) 85-29-01