Формат с плавающей запятой четверной точности


В вычислениях четверная точность ( или четырехкратная точность ) — это двоичный формат компьютерных чисел с плавающей запятой , который занимает 16 байт (128 бит) с точностью, по крайней мере, в два раза превышающей 53-битную двойную точность .

Эта 128-битная четверная точность предназначена не только для приложений, требующих результатов с точностью выше двойной, [1] , но также, в качестве основной функции, для более надежного и точного вычисления результатов с двойной точностью за счет минимизации переполнения и округления . ошибки в промежуточных вычислениях и временных переменных. Уильям Кахан , главный архитектор исходного стандарта с плавающей запятой IEEE-754, отметил: «На данный момент 10-байтовый расширенный форматявляется допустимым компромиссом между ценностью сверхточной арифметики и ценой ее реализации для быстрой работы; очень скоро еще два байта точности станут допустимыми, и, в конечном итоге, 16-байтовый формат ... Такая постепенная эволюция в сторону более высокой точности уже была видна, когда был создан стандарт IEEE 754 для арифметики с плавающей запятой ». [2]

Это дает точность от 33 до 36 значащих десятичных цифр. Если десятичная строка, содержащая не более 33 значащих цифр, преобразуется в представление с четырехкратной точностью IEEE 754, а затем преобразуется обратно в десятичную строку с тем же количеством цифр, окончательный результат должен соответствовать исходной строке. Если число IEEE 754 с четверной точностью преобразуется в десятичную строку, содержащую не менее 36 значащих цифр, а затем преобразуется обратно в представление с четверной точностью, окончательный результат должен совпадать с исходным числом. [3]

Формат записывается с неявным ведущим битом со значением 1, если показатель степени не сохранен со всеми нулями. Таким образом , в формате памяти появляются только 112 бит мантиссы , но общая точность составляет 113 бит (приблизительно 34 десятичных знака: log 10 (2 113 ) ≈ 34,016 ). Биты расположены так:

Binary256 будет иметь значащую точность 237 бит (приблизительно 71 десятичная цифра) и экспоненциальное смещение 262143 .

Двоичный экспонент с плавающей запятой четверной точности кодируется с использованием двоичного представления смещения со смещением нуля, равным 16383; это также известно как смещение экспоненты в стандарте IEEE 754.