回想一下IEEE双精度算法。现在,在IEEE双精度中,可以计算哪个n > 1
binom(n,k)
?此外,在同一时间间隔内,中间阶乘值何时会溢出?
对于我的第一个问题,我找到了区间n < 2^53
.但不确定这是否正确。
发布于 2016-01-26 19:57:05
对于给定的n
,binom(n, k)
值最大的是k = [n/2]
(n/2
的整数部分)。因此,如果binom(n, k)
要以双精度精度格式表示,那么binom(n, [n/2])
就足够了。
下面列出准确表示binom(n, [n/2])
所需的位数(二进制数字)(使用类似于这一个的查询从Wolfram检索)。
n binom(n, [n/2])
56 53 bits
57 54 bits
下面列出了binom(n, [n/2])
的二进制指数形式的值。
n binom(n, [n/2])
1029 1.1... * 2^1023
1030 1.1... * 2^1024
可以用双精度浮点(53位尾数)精确表示所有n
的最大binom(n, k)
是56
。
可以用双精度浮点(11位指数)近似表示所有n
的最大binom(n, k)
是1029
。
n!
的相似最大极限为n= 18
(精确表示)和n= 170
(浮点逼近)。
https://stackoverflow.com/questions/35007757
复制相似问题