整数を2で割るのに最適なオプションは次のうちどれですか。なぜですか。
テクニック1:
x = x >> 1;
テクニック2:
x = x / 2;
これx
は整数です。
x /= 2
ので、私は好みx >>= 1
ます;)
x = x / 2
ではなく、書く方が読みやすいと思いx /= 2
ます。主観的な好み多分:)
⬜=
組み合わせがある言語では、可能な限りこれらを使用する必要があります。これは事実上のノイズとプット重視削除x
された変更を一般的ながら、=
オペレータは、むしろそれは古いものの完全に新しい価値の独立を取ることを示唆しています。-常には同様にそのポイントを持っているかもしれないが、その後、あなたは非常に有用を放棄する必要があるだろう(のみ算術演算子を知っている人はそう、それが読めるだそうという)を組み合わせ演算子を避け++
、--
、+=
、あまりにも。
x
再び割り当てたい場合は、どちらもこの方法では適切ではありません。それは、操作で表現しようとしている内容に応じて、x >>= 1
またはのどちらかである必要がありますx /= 2
。それがより高速であるという理由ではありません(最新のコンパイラは同等のバリアントをすべて同じ高速アセンブリにコンパイルします)が、混乱が少ないためです。