GDB でプログラムをデバッグしています。
unsigned int example = ~0;
私に与えます:
(gdb) x/4bt example
0xffd99788: 10101000 10010111 11011001 11111111
なぜこれはすべて 1 ではないのですか? 私はそれを ~0... と定義し、次のコード行は次のとおりです。
example>>=(31);
そして、メモリをビットで調べようとすると、GDBはこれを私に与えます:
(gdb) x/4bt example
0xffffffff: Cannot access memory at address 0xffffffff
何が起こっている???