По рекомендациям, заложенным в стандарт IEEE754 можно сконструировать дополнительные типы данных, часть из которых находит применение - fp24 (3 байта), fp16 (два байта), fp8 (один байт).
FP24 (s16e7)
бит знака, 7 бит порядка (смещение 63), 17 бит мантиссы (представляется 16 битами, 17 бит равен 1 для нормализованных и 0 для денормализованных чисел).
Emax = 63, 263 ≈ 9.223 1018, Emin = -62, 2-62 ≈ 2.168 10-19
Макс. нормализованное число ≈ 1.845 1019 (1.11111...111 = 2 - 2-16 ≈ 2)
Мин. нормализованное число ≈ 2.168 10-19 (1.00000...000 * 2-62)
Макс. денормализовнное число ≈ 2.168 10-19 (0.1111...111 * 2-62 - для E=0 e = Emin = -62)
Мин. денормализованное число 2-74 ≈ 5.294 10-23 (0.0000..001 * 2-62 = 2-16 * 2-62)
Точность вычислений - 5 знаков ( log10(217) ≈ 5.118)
FP16 (s10e5)
бит знака, 5 бит порядка (смещение 15), 11 бит мантиссы (представляется 10 битами, 11 бит равен 1 для нормализованных и 0 для денормализованных чисел).
Emax = 15, 215 = 32768, Emin -14, 2-14 = 6.103 10-5
Макс. нормализованное число = 65504 (1.11111...111 = 2 - 2-10)
Мин. нормализованное число = 6.103515625 * 10-5 (1.00000...000 * 2-14)
Макс. денормализовнное число ≈ 6.098 10-5 (0.1111...111 * 2-14 - для E=0 e = Emin = -14)
Мин. денормализованное число 2-24 ≈ 5.96 10-8
Точность вычислений - 3 знака ( log10(215) ≈ 3.311)
FP8 (s3e4, minifloat)
бит знака, 4 бита порядка (смещение 7), 4 бита мантиссы (представляется 3 битами, равен 1 для нормализованных и 0 для денормализованных чисел).
Emax 27 = 128, Emin 2-6 = 0.015625
Макс. нормализованное число 27 * 1.111 = 240
Мин. нормализованное число 2-6 * 1.000 = 0.015625
Макс. денормализовнное число 2-6 * 0.111 = 0.013671875
Мин. денормализованное число 2-6 * 0.001 = 0,001953125
Точность вычислений - 1 знак ( log10(24) ≈ 1.204)
Комментариев нет :
Отправить комментарий