整数を 2 で割るのに最適な方法はどれですか。その理由も教えてください。
テクニック1:
x = x >> 1;
テクニック2:
x = x / 2;
ここにx
整数があります。
ベストアンサー1
実行しようとしている操作を最もよく表す操作を使用します。
- 数値をビットのシーケンスとして扱う場合は、bitshift を使用します。
- 数値として扱う場合は除算を使用します。
これらは完全に同等ではないことに注意してください。負の整数の場合は異なる結果が返される可能性があります。例:
-5 / 2 = -2
-5 >> 1 = -3