Согласно IEEE 754-2008 существуют
Есть три базовых двоичных формата с плавающей запятой (которые могут быть закодированы с использованием 32, 64 или 128 бит) и два десятичных базовых формата с плавающей запятой (которые могут быть закодированы с использованием 64 или 128 битов).
Эта диаграмма находится под ним. В C ++ я считаю float
и double
имеют одинарную и двойную точность ( binary32
и binary64
).
Name Common name Base Digits E min E max Digits E max
binary32 Single precision 2 23+1 −126 +127 7.22 38.23
binary64 Double precision 2 52+1 −1022 +1023 15.95 307.95
binary128 Quadruple precision 2 112+1 -16382 +16383 34.02 4931.77
decimal32 10 7 −95 +96 7 96
decimal64 10 16 −383 +384 16 384
decimal128 10 34 −6143 +6144 34 6144
Какой класс / структуру я могу использовать для decimalX
и есть ли что-то, что я могу использовать для binary128
? Эти классы / структуры стандартные или нестандартные?