我想知道是否有一些替代浮点数的工作,其中数字简单地表示为指数(和符号位)。它将类似于浮点数,除了将跳过尾数,基数b
(通常)不会是2。
因此,唯一可表示的数字是b
的一些权力。
这是一个简单的例子:
设b
为2 ^(2 ^ -4),并让我们使用8位进行表示。第一位用于符号,剩下的7用于指数,这是2的补码。然后
00000000 represents (2^(2^-4))^0 = 1
00000001 represents (2^(2^-4))^1 ≈ 1.044
10000000 represents -1
01000001 represents (2^(2^-4))^-63 ≈ 0.065
10111111 represents -(2^(2^-4))^63 ≈ -15.32
请注意,可以添加0,NaN等特殊情况。
该表示与通常的浮点表示相比具有某些优点。例如,乘法变为加法,并且可表示的数字更平滑地分布。一个缺点可能是计算添加(我提出的实现是使用二叉树,当树很小并且在硬件中实现时可能很快。)
任何与此表示相关的信息都是受欢迎的(无论是否已经考虑过,为什么它会变坏,如果有的话,它的名称等等)。