一補數運算子:~
語法
~ cast-expression
備註
一補數運算子 (~
),有時稱為「位元補數」運算子,它會產生其運算元的位元 1 補數。 也就是說,運算元中是 1 的每個位元,在結果中都是 0。 反之,運算元中是 0 的每個位元,在結果中都是 1。 一補數運算子的運算元必須是整數類資料類型。
~ 的運算子關鍵字
C++ 會指定 compl
作為 ~
的替代拼字。 在 C 中,替代拼字會以 <iso646.h> 標頭中的巨集形式提供。 在 C++ 中,替代拼字是關鍵字;<iso646.h> 或 C++ 對等 <ciso646> 的使用已被取代。 在 Microsoft C++ 中,需要 /permissive-
或 /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 補數。
整數提升會在整數運算元上執行。 運算元升階後的類型是結果類型。 如需整數升階的詳細資訊,請參閱標準轉換。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應