Есть ли заголовок, который предоставляет типы, подобные uint64_t для чисел с плавающей запятой и двойников в Linux или gcc? - PullRequest
3 голосов
/ 10 марта 2012

Мне интересно, есть ли заголовок, который предоставляет типы, подобные uint64_t для чисел с плавающей запятой и двойников в Linux или gcc?

Ответы [ 2 ]

2 голосов
/ 10 марта 2012

Хотя C не предписывает IEEE-754 с плавающей запятой, для всех намерений и целей, он универсален - как арифметика дополнения 2.

С этим допущением заголовок <float.h> имеет макроопределения: FLT_MANT_DIG и DBL_MANT_DIG, количество битов в мантиссе. Значение (24) означает 32-битный тип с плавающей точкой IEEE-754 с одинарной точностью. Значение (53) означает 64-битный тип с двойной точностью.

Обратите внимание, что типы 'float' и 'double' могут быть одинаковыми, даже с реализацией, соответствующей стандарту IEEE-754. Типы long double часто являются псевдонимами для double на многих платформах.

2 голосов
/ 10 марта 2012

«float» и «double» обычно достаточно.Они сопоставляются с 32-разрядными и 64-разрядными типами в каждой системе, которую я когда-либо использовал, независимо от собственного размера слова платформы.

...