JavaScript

~ (ビット否定演算子)

 編集:2022.08.07 by T.A.

オペランドの各ビットを反転します。

~X
X オペランド

オペランドは32ビットの整数値に変換され、ビット(ゼロまたは1)の並びによって表現されます。32ビットを超える数値は最上位のビットが破棄されます。例えば、次の32ビットを超える整数は32ビット整数に変換されます。

 9(10進数)=00000000000000000000000000001001(2進数)
               --------------------------------
~9(10進数)=11111111111111111111111111110110(2進数)= -10(10進数)

ある数 x のビット否定 は -(x + 1) になります。例えば、~-5 は 4 になります。

数値に32ビット表現を使用するため ~-1 および ~4294967295(232-1)はいずれも 0 になることに注意してください。

D=~0;  //=-1
D=~-1; //=0
D=~1;  //=-2

テスト