実際には、ビット複製を行うためのかなり良い数学的理由があります。
最初に、nビット文字列は実際には値を表し、mビット文字列を生成することに注意してください。ここで、および
NN2ん− 1Mn < mN2ん− 1≈M2メートル− 1
最初に分子と分母をスケーリングします
N。(2ん+ 1 )(2ん− 1 )(2ん+ 1 )≈M2メートル−1
そしてこれは
N。(2ん+ 1 )22 n− 1≈M2メートル− 1
あなたの場合、 N ∈ { 5 、6 } そして m = 8 ここで「停止」できますが、m >> nの場合、プロセスを繰り返すことができます(悪心)。
次に、近似を行います...
N。(2ん+ 1 )22 n≈M2メートル
単純化する
N。(2ん+ 1 )22 n − m≈ M
ご了承ください N。(2ん+ 1 ) は、nビットの文字列を繰り返して2nビットの文字列を作成することと同じです。 2 n − m Mビットの結果を残すLSB。
QED
もちろん、「正しい」計算は M= ⌊ ((2メートル− 1 )N2ん− 1+12⌋しかし、この概算は、通常、ほとんどの場合機能します。もちろん、不正確な場合もありますが、IIRCは1ビットだけで比較的まれです。