【发布时间】:2011-09-02 19:25:06
【问题描述】:
这不是现实项目的问题;我只是好奇。
我们可以使用递增运算符 (i++) 增加 int。您可以将此操作定义为:
这会将值最接近i的变量增加。在这种情况下,这只是 +1。
但我正在考虑根据 IEEE 754-2008 系统定义特定范围内可用的双精度值的数量。我将能够建立一个图表,在某些范围内展示这些数量,并查看它是如何减少的。
我想应该有一种按位方式将双精度值增加到比原始双精度值更大的最接近值。
我在Wikipedia 上发现的是这样的:
双精度示例
0x 3ff0 0000 0000 0000 = 1 0x 3ff0 0000 0000 0001 = 1.0000000000000002, the next higher number > 1 0x 3ff0 0000 0000 0002 = 1.0000000000000004
这里可以看到下一个更高的数字是通过增加二进制内容得到的。但我认为这不会继续有效,因为双重方案看起来像这样:
我认为当所有分数位都设置为1时,应该执行其他操作以使增加最小。
也许这个操作有名字?有趣的参考资料?
欢迎任何信息:D
谢谢
【问题讨论】:
-
这个问题与所述语言完全无关。
-
我知道,但是通过这种方式,您可以接触到人们。就个人而言,我一直在查看我喜欢的标签。
标签: floating-point bit-manipulation ieee-754