この章を学ぶ前に必要な知識
条件
- 二つの数値が必要
- 内部で条件分岐のないabs関数
効果
- 二つの数値のうち大きい方または小さい方の値を得る
解 説
条件分岐を減らせることはコードの最適化をする際に有用である場合があります.
ここでは、それを実現するための方法についてまとめます.
有名な絶対値関数abs()を用いたときの方法をまず紹介します. | 最大最小算出コードで分岐を減らしたい | ||
C++
| abs関数により最大値と最小値の算出方法 | ||
わかりやすく除算をするために "/2"としていますが、
シフト演算子で右シフト1(">>1")を行う形で構いません. | 割る2に関して | ||
また、別の条件分岐を減らすことができる方法が乗っているブログがあったため、以下に手法を引用する.他の方法についてはリンク先にて確認ください. | 外部リンク (以下引用より)if文(条件分岐)を使わず、max(a, b) を計算 別解 | ||
C++
| abs関数も必要としないmax関数及びmin関数 |
この章を学んで新たに学べる
Comments