因子的精确算术和溢出

时间:2016-01-26 05:52:48

标签: precision ieee-754 factorial binomial-coefficients

召回 IEEE双精度算术。现在,{Double}精度可以n > 1 binom(n,k)计算n < 2^53?此外,在相同的时间间隔内,中间因子值何时会溢出?

对于我的第一个问题,我发现间隔 {{1}} 。不确定这是否正确。

1 个答案:

答案 0 :(得分:1)

对于给定的nbinom(n, k)k = [n/2]的整数部分)获得了最大n/2值。为了使binom(n, k)能够以双精度精度格式表示,因此binom(n, [n/2])可以表示就足够了。

下面列出了binom(n, [n/2])的精确表示所需的位数(二进制数字)(使用类似于this one的查询从Wolfram Alpha检索到的)。

 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

所有n可以在双精度浮点(53位尾数)中精确表示的最大binom(n, k)56

所有n可以在双精度浮点(11位指数)中近似表示的最大binom(n, k)1029

n!的类似最大限制为n = 18(精确表示)和n = 170(浮点近似)。