2011-12-28 27 views

答えて

11

num *= -1は、符号を正から負に、またはその逆に変更します。

+1

記号を変更することは、 '-'演算子を使ってはるかに熟語的に行われます。これは基本的に乗法的なものではなく、加法的なものです。 –

11

私はむしろ、このように記述します。

num = -num; 

これは単に符号を変える、乗算を必要としません。

+0

'num =( - 1^num)++;'を使って減算を避けることさえできます。もちろん、整数のみです。 – Gabriel

+1

コンパイラの最適化では、どちらの場合でも乗算や代入を使わないでしょう: 'num = -1 * num'を書いても、最新のコンパイラは乗算を最適化し、' NEG $ num'命令を使って場所。 – dasblinkenlight

+0

実際に乗算するように乗数を使うよりも符号を変えるほうがいいですし、もちろん乗算された数で符号を変えてしまいます。 –

関連する問題