ビットごとの NOT 演算子 (~)
式で指定された値のビットごとの NOT (否定) 演算を実行します。
~ expression
引数
- expression
任意の数式を指定します。
解説
~ 演算子は、式の値を 2 進数形式で取り込み、その各ビットを反転させます。
元の式でビットが 1 の場合は必ず 0 になります。 元の式でビットが 0 の場合は必ず 1 になります。
~ 演算子を整数型のオペランドに使用すると、演算子は型の変換を行わず、オペランドと同じ型の値を返します。 オペランドが整数以外の型である場合は、演算が実行される前に値が int に変換され、演算子の戻り値は int 型になります。
ビットごとの NOT (~) 演算子の使用例を次に示します。
var temp = ~5;
結果値は、次の表に示すように、-6 です。
式 |
バイナリ値 (2 の補数) |
10 進形式での値 |
---|---|---|
5 |
00000000 00000000 00000000 00000101 |
5 |
~5 |
11111111 11111111 11111111 11111010 |
-6 |