共用方式為


一元 (unary) 算術運算子

下面討論 c 的一元 (unary) 加上,算術負運算、 補數和邏輯否定運算子:

運算子

描述

+

一元 (unary) 再加上在括號之前的運算式的運算子會強制封入型的作業群組。 它可搭配牽涉到一個以上的關聯或交換二元運算子的運算式。 運算元必須有算術型別。 結果是運算元的值。 整數的運算元所經歷整數提升。 結果的型別是運算元的升級的型別。

算術減法運算子會產生運算元的否定 (兩個補數)。 運算元必須是整數或浮點值。 此運算子會執行一般的算數轉換。

~

位元補數 (或位元 NOT) 運算子會產生運算元的位元補數。 運算元必須是整數類資料型別。 此運算子會執行一般的算數轉換 ; 結果必須在轉換後的運算元的型別。

!

邏輯否定 (邏輯 NOT) 運算子產生的值是 0,如果運算元是 true (非零) 和 1 的值,如果運算元為 false (0)。 結果將會有int型別。 運算元必須是整數類資料、 為浮動狀態,或指標值。

一元 (unary) 指標上的算術作業不合法的。

範例

下列範例說明一元 (unary) 算術運算子:

short x = 987;
    x = -x;

在範例中,與新值之上的x是 987 或 –987 的負數。

unsigned short y = 0xAAAA;
    y = ~y;

在這個範例中,新的值指派給y是互補的 0xAAAA 或 0x5555 的不帶正負號的值。

if( !(x < y) )

如果x大於或等於y,運算式的結果是 1 (true)。 如果x是小於y,則結果為 0 (假)。

請參閱

參考

一元 (unary) 運算子的運算式