3

IEEE 倍精度演算を思い出してください。では、IEEE 倍精度で計算できるn > 1のはどれですか? binom(n,k)さらに、同じ間隔で、中間の階乗値がオーバーフローするのはいつですか?

私の最初の質問では、間隔を見つけましたn < 2^53。これが正しいかどうかはわかりません。

4

1 に答える 1

1

与えられnた の最大binom(n, k)値はk = [n/2]( の整数部分n/2) で得られます。binom(n, k)したがって、 が倍精度精度形式で表現可能であるためには、 が表現可能であるだけで十分ですbinom(n, [n/2])

以下は、(このbinom(n, [n/2])ようなクエリを使用して Wolfram Alpha から取得した) を正確に表現するために必要なビット数 (2 進数) のリストです。

 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すべてbinom(n, k)を倍精度浮動小数点 (53 ビット仮数) で正確に表現できる最大値は です56

nすべてbinom(n, k)を倍精度浮動小数点 (11 ビット指数) で近似的に表現できる最大値は です1029

同様の最大制限はn!、n = 18(正確な表現) と n = 170(浮動小数点近似) です。

于 2016-01-26T19:57:05.097 に答える