Как использовать десятичные числа (с плавающей запятой) в C ++?

Согласно 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 ? Эти классы / структуры стандартные или нестандартные?

5
задан phuclv 3 July 2018 в 06:06
поделиться