一補數運算子:~
~ cast-expression
備註
一補數運算子 (~),有時稱為「位元補數」運算子,它會產生其運算元的位元 1 補數。 也就是說,運算元中是 1 的每個位元,在結果中都是 0。 反之,運算元中是 0 的每個位元,在結果中都是 1。 一補數運算子的運算元必須是整數類資料類型。
~ 的運算子關鍵字
compl 運算子是 ~ 的文字對等用法。 有兩種方式可存取您程式中的 compl 運算子:包含標頭檔 iso646.h,或是使用 /Za (停用語言擴充功能) 進行編譯。
範例
// expre_One_Complement_Operator.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;
int main () {
unsigned short y = 0xFFFF;
cout << hex << y << endl;
y = ~y; // Take one's complement
cout << hex << y << endl;
}
在這個範例中,指派至 y 的新值是不帶正負號的值 0xFFFF 或 0x0000 的 1 補數。
整數運算元上會執行整數提升,且結果類型是運算元提升後的類型。 如需如何執行提升的詳細資訊,請參閱整數提升。