我知道各种数据类型的大小可能会根据我所使用的系统而改变.我使用XP 32位,并在C++中使用sizeof()运算符,似乎long double是12个字节,double是8.
但是,大多数主要消息来源都表示long double是8个字节,因此范围与double相同.
为什么我有12个字节?如果long double确实是12个字节,那么这也不会扩展值的范围吗?或者,当值超出double的范围时,仅使用长签名(编译器数字),因此,超出8个字节?
谢谢.
不久前我写了一个程序,它使用了一些阶乘函数.我使用long double数据类型来支持"相对"大数字.
现在,我从代码块改为Visualstudio 2010,我想知道为什么我的程序不再工作,直到我在一些研究中意识到MS已经放弃了长双数据类型.这有什么特别的原因吗?对我而言,它看起来非常像技术方面的倒退.
有没有其他选择?(我也很乐意使用boost库中的替代品).