2011-12-28 96 views

回答

11

num *= -1會將符號從正向改爲負向,反之亦然。

+1

使用'-'運算符更改標誌更習慣於完成。這基本上是一種疊加操作,而不是乘法操作。 – 2014-05-12 22:05:22

11

我寧願這樣寫:

num = -num; 

這將不需要乘,只是改變了標誌。

+0

你甚至可以避免使用'num =( - 1^num)++;'減法。當然,只適用於整數。 – Gabriel 2011-12-28 10:53:19

+1

在這兩種情況下,優化編譯器都不會使用乘法甚至賦值:即使您編寫了「num = -1 * num」,現代編譯器也會優化乘法,並使用「NEG $ num」指令來否定數字地點。 – dasblinkenlight 2011-12-28 12:30:06

+0

更改符號比使用乘法更好,因爲實際上會乘以數字,當然效果會改變符號,但是會乘上乘數。 – 2012-02-03 04:48:58

相關問題