5

について読んでいた~とき、

各ビットに対して NOT 演算子を実行します。

だから私は試しました:

 0 = 00000000000000000000000000000000

         so ~0 should be

~0 = 11111111111111111111111111111111

しかし、試してみると、 が返されます-1。は10 進数で11111111111111111111111111111111はありませんか?4294967295

4

3 に答える 3

9

これは符号付き整数として解釈され、2 の補数では、すべてのビットが 1 の整数は です-1

于 2012-06-10T18:48:19.617 に答える
7

タイプが符号なしの場合のみ。符号付き整数は最上位ビットを否定フラグとして使用するため、1 に設定すると負の数になります。2 の補数を参照してください。

于 2012-06-10T18:48:22.247 に答える
6

1すべての s のビット パターンは、符号なし整数、または32 ビット4294967295を超える符号付き整数用です。2 の補数として表される32 ビットの符号付き整数の場合、その.-1

于 2012-06-10T18:48:14.483 に答える