- C++相談室 part116 [転載禁止]©2ch.net
533 :デフォルトの名無しさん[sage]:2015/04/10(金) 21:09:58.20 ID:jxWpgR7l - 整数の剰余 a % b を%使わずに高速に解く方法ってありませんか?
条件としては、 aの符号、偶数、奇数かは不明 bは常に正の奇数、exe実行毎に値は変わるが、動作中の値は固定 余りは正で返す(例 -3 % 7 = 4) 値のレンジは32bit int、5000<b<50000くらいです。 よろしくお願いします。
|
- C++相談室 part116 [転載禁止]©2ch.net
535 :デフォルトの名無しさん[sage]:2015/04/10(金) 21:45:17.26 ID:jxWpgR7l - 組み込みではなく普通のPCですが、並列化出来ないforの中で一番計算量を食っているのが%なんです
浮動小数点だと1/bを事前に計算しておけば乗算にできるので、似たようなトリックが使えないかと考えていますがわかりません
|
- C++相談室 part116 [転載禁止]©2ch.net
538 :デフォルトの名無しさん[sage]:2015/04/10(金) 23:25:17.27 ID:jxWpgR7l - >>536
誤差が気になりますが、試す価値はありそうですね >>537 コード自体は非常に単純で、for文の中でひたすら%を計算します 一応ループ展開もしたんですが、そもそも%の回数がメチャクチャ多いのでそれ自体を無くしたいのです
|