について読んでいた~
とき、
各ビットに対して NOT 演算子を実行します。
だから私は試しました:
0 = 00000000000000000000000000000000
so ~0 should be
~0 = 11111111111111111111111111111111
しかし、試してみると、 が返されます-1
。は10 進数で11111111111111111111111111111111
はありませんか?4294967295
について読んでいた~
とき、
各ビットに対して NOT 演算子を実行します。
だから私は試しました:
0 = 00000000000000000000000000000000
so ~0 should be
~0 = 11111111111111111111111111111111
しかし、試してみると、 が返されます-1
。は10 進数で11111111111111111111111111111111
はありませんか?4294967295
これは符号付き整数として解釈され、2 の補数では、すべてのビットが 1 の整数は です-1
。
タイプが符号なしの場合のみ。符号付き整数は最上位ビットを否定フラグとして使用するため、1 に設定すると負の数になります。2 の補数を参照してください。
1
すべての s のビット パターンは、符号なし整数、または32 ビット4294967295
を超える符号付き整数用です。2 の補数として表される32 ビットの符号付き整数の場合、その.-1