Interested Article - Число четверной точности

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

Формат числа четверной точности

Знак: 1 бит.
Порядок: 15 бит .
Мантисса : 112 бит (112 явно хранятся).

Эквивалентное количество значащих десятичных цифр (при одинаковой средней относительной погрешности представления): 34 ( log 10 (2 113 ) ≈ 34.016 ).

Знак
(15 бит)
Порядок
(112 бит)
Мантисса
127 120 119 112 111 104 103 96 95 88 87 80 79 72 71 64 63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

Примеры чисел четверной точности

Небольшие константы:

0x 3fff 0000 0000 0000 0000 0000 0000 0000  = 1
0x c000 0000 0000 0000 0000 0000 0000 0000  = −2

Максимальное и минимальное (нормальное) число четверной точности:

0x 7ffe ffff ffff ffff ffff ffff ffff ffff  ≈  1.18973149535723176508575932662800702 × 104932 
0x 0001 0000 0000 0000 0000 0000 0000 0000 ≈ 3.36210314311209350626267781732175260 * 10 -4932 

Денормализованные числа четверной точности: максимальное и минимальное положительное:

0x 0000 ffff ffff ffff ffff ffff ffff ffff	≈ 3.3621031431120935062626778173217520 * 10 ^-4932
0x 0000 0000 0000 0000 0000 0000 0000 0001	≈ 6.4751751194380251109244389582276466 * 10 ^-4966

Нули четверной точности:

0x 0000 0000 0000 0000 0000 0000 0000 0000  = 0
0x 8000 0000 0000 0000 0000 0000 0000 0000  = −0

Бесконечности четверной точности:

0x 7fff 0000 0000 0000 0000 0000 0000 0000  = ∞
0x ffff 0000 0000 0000 0000 0000 0000 0000  = −∞
0x 3ffd 5555 5555 5555 5555 5555 5555 5555  ≈  1/3

Поддержка

Ряд компиляторов, в том числе GCC (с версии 4.0, 2010 ), IBM XL (10.1 ), Intel, позволяет использовать числа точности "Quadruple" в программах на языках C/C++ и Fortran (например как тип __float128 , long double, REAL*16), реализуя вычисления над ними программно, на 1-2 порядка более медленно, чем с точностью, поддерживаемой аппаратно . Несмотря на то, что подобные вычисления можно реализовать в системах обработки чисел произвольной точности (например, GMP ), существует несколько специализированных библиотек с программной реализацией "Quadruple" точности . Также разрабатываются способы аппаратной реализации , но по состоянию на 2005 год в массовых процессорах четверная точность аппаратно не реализовывалась .

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

Существует подход "double-double" к реализации чисел с точностью, приближенной к четверной, но использующих более короткий формат экспоненты (иногда реализуется в компиляторах Fortran для типа REAL*16). При таком подходе, например, для сложения двух чисел типа "double-double" требуется 8 операций сложения и вычитания и одно сравнение над числами двойной точности .

См. также

Примечания

  1. . Дата обращения: 30 ноября 2016. 6 апреля 2012 года.
  2. . Дата обращения: 30 ноября 2016. 19 июня 2020 года.
  3. FLT128_MAX
  4. FLT128_MIN
  5. . Дата обращения: 30 ноября 2016. 30 ноября 2016 года.
  6. . Дата обращения: 30 ноября 2016. 30 ноября 2016 года.
  7. . Дата обращения: 30 ноября 2016. 28 ноября 2016 года.
  8. . Дата обращения: 30 ноября 2016. Архивировано из 30 ноября 2016 года.
  9. . Дата обращения: 30 ноября 2016. 17 ноября 2016 года.
  10. . Дата обращения: 30 ноября 2016. Архивировано из 20 августа 2016 года.
  11. . Дата обращения: 30 ноября 2016. 6 июля 2017 года.
  12. . Дата обращения: 30 ноября 2016. 9 июля 2020 года.
  13. . Дата обращения: 30 ноября 2016. 29 августа 2017 года.
Источник —

Same as Число четверной точности