プログラミングの為の数学と算数 vol.2at TECHプログラミングの為の数学と算数 vol.2 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト835:デフォルトの名無しさん 07/05/16 16:28:10 >>834 831に書いた方法は、 R=(2^32 + F)/Dのとき、F=D-1では、多くのDで誤差が出る。 大事なのはRが割り切れることと、F/2^32が1bitより小さい正の値になること。 これが満たされない場合は、 R=(2^33+F)/Dとか、R=(2^34+T)/D-2^32なんかを使う必要がある。 (おまけに最後の例は最後に2^32分の補正が必要) 以上のようにR の決定がそんなに単純じゃないんだー。 だから定数除算って書いた。 っていうかハッカーのたのしみって本を買えばこういうことが書いてある。 興味あるならオススメ。 836:デフォルトの名無しさん 07/05/16 17:04:05 >>830 http://swox.com/~tege/divcnst-pldi94.pdf > Division by Invariant Integers using Multiplication > > 4 Unsigned division > 5 Signed division, quotient rounded towards 0 > 6 Signed division, quotient rounded towards -∞ 837:デフォルトの名無しさん 07/05/16 18:06:56 ターゲットのチップにも寄るだろうけど、Intel系でって話なら普通に割り算命令使った方が速いんじゃね? 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch