程式設計基礎/一元運算
一元運算是一種只有一個運算元的運算。 由於一元運算只有一個運算元,因此它們在包含它們的其它運算之前被求值。[1] 常見的一元運算子包括正號 (+) 和負號 (-)。
一元正號也稱為加號,一元負號也稱為減號,是獨特的運算子。 當加號和減號與一個常數值一起使用時,它們表示這些值是正數或負數的概念。 讓我們考慮
+5 + -2
我們有三個運算子,按順序排列:一元正號、加法和一元負號。 此表示式的結果為正 3。 如你所見,必須區分加號何時表示一元正號,何時表示加法。 一元負號和減法也有同樣的問題。 讓我們考慮
-2 - +5
此表示式的結果為負 7。 讓我們考慮
7 - -2
首先,沒有在一元負號前面的常數值被假定為正數(預設值)。 當你減去一個負數時,它就像加法一樣,因此此表示式的結果為正 9。
否定的概念是取一個值並改變它的符號,也就是說:翻轉它。 如果它是正數,就讓它變成負數,如果它是負數,就讓它變成正數。 在數學上,它是以下 C++ 程式碼示例,假設 money 是一個值為 6 的整型變數
-money
money * -1
以上兩個表示式的結果都相同。 在第一行中,變數 money 中的值被獲取,然後被取反為負 6。 在第二行中,變數 money 中的值被獲取,然後乘以負 1,結果為負 6。
僅僅為了滿足對稱性,一元正號被新增到 C++ 程式語言中作為運算子。 但是,它是一個完全無用或無意義的運算子,很少使用。 不過,不要混淆以下表達式,它完全有效
6 + +5
第二個 + 符號被解釋為一元正號。 第一個 + 符號被解釋為加法。
money
+money
money * +1
對於所有三行,如果 money 中儲存的值為 6,則表示式的值為 6。 即使 money 中的值為負 77,表示式的值也將為負 77。 運算子什麼也不做,因為將任何數乘以 1 不會改變它的值。
不要將一元負號運算子與減量混淆。 減量改變變數中的值,因此它是一個左值概念。 一元負號不會改變變數的值,而是將它用在右值上下文中。 它獲取值,然後取反該值。 變數中的原始值不會改變。
由於識別符號名稱沒有與之關聯的更改值,因此識別符號名稱可以表示變數或命名常量。
評估以下涉及一元正號和一元負號的專案
- +10 – -2
- -18 + 24
- 4 – +3
- +8 + – +5
- +8 + / +5
- 減號
- 也稱為一元負號。
- 加號
- 也稱為一元正號。
- 一元負號
- 導致否定的運算子。
- 一元正號
- 一個幾乎從不使用的無用運算子。