long double
由于某些原因,我必须打印数字的二进制表示。我想查看确切的格式,因为它保留在计算机内存中。
我经历了以下问题,其中采取 aunion
是解决方案。对于float
,备用数据类型unsigned int
都是 32 位的。对于double
,unsigned long int
因为两者都是 64 位的。但在 中long double
,它是 96 位/128 位(取决于平台),没有类似的等效内存消耗者。那么,解决方案是什么?
访问问题:
注意力:
它被标记为重复问题如何打印(使用 cout)数字存储在内存中的方式?!
真的吗?提到的问题谈到了整数,并且接受的解决方案bitset
只是截断了浮点部分。我的主要观点是浮点表示,它与该问题的内容无关。