プログラミングの為の数学と算数 vol.2
■ このスレッドは過去ログ倉庫に格納されています
0831デフォルトの名無しさん
2007/05/16(水) 01:13:49定数除算なら、誤差項を1ビット誤差以下に抑えればいいから、こういうことは出来るけど。
32bit同士の乗算がオーバーフローせずに使える場合。
X/3 = [X/3 + 2n/(3*2^32)] (∵ 2n/(3*2^32) < 1bit )
= [ (2^32 + 2)/3 * (n/2^32) ]
= 1431655766 * n / 2^32
= 1431655766 * n >> 32
■ このスレッドは過去ログ倉庫に格納されています