プログラミングの為の ..
831:デフォルトの名無しさん
07/05/16 01:13:49
830のリンク先はなーんか誤差が出そうなやり方だなー。
定数除算なら、誤差項を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
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5374日前に更新/259 KB
担当:undef