Mar*_*cer 3 c++ floating-point casting
当转换(浮动)33554329L时,结果是33554328.如果该数字然后被转换为long,则值保持在33554328,对此有任何解释.
在C++中使用VS2005 [非管理]
32位浮点数为尾数23位,为8,388,608个不同的值.这意味着精度大约是7位有效小数.您的号码有8位十进制有效数字,因此您可以看到最后一位有效数字的精度损失.
这是关于浮点表示的更多信息
双精度为64位,尾数为52位,即4,503,599,627,370,496(16位数),因此具有大约15-16的十进制数字精度.
一decimal类的东西,可能让您保存在任何准确性任意数量的任意长度.C#有它们但不幸的是它们不是C++中的原始类型.您可以找到一些在C++中实现它们的第三方库.
| 归档时间: |
|
| 查看次数: |
170 次 |
| 最近记录: |