得られるのバイナリ0x80000000
を取る
1000 0000 0000 0000 0000 0000 0000 0000
これは とどのように一致しますか-2147483648
。私はこのプログラムでこの質問を受けました。
class a
{
public static void main(String[] args)
{
int a = 0x80000000;
System.out.printf("%x %d\n",a,a);
}
}
meow@VikkyHacks:~/Arena/java$ java a
80000000 -2147483648
編集2 の補数が負の数を表すために使用されることを学びました。これをその1の補数と同一視しようとすると、
1's Comp. :: 0111 1111 1111 1111 1111 1111 1111 1111
2's Comp. :: 1000 0000 0000 0000 0000 0000 0000 0000
これも意味がありません0x80000000
。-2147483648