18

32 ビットの符号付き整数の最小値は何ですか。たまたま [この Web サイト] でアカウントを作成するためのセキュリティ「チャレンジ」の質問です (編集: リンクは現在マルウェアです) (私がただ好奇心旺盛で退屈)。

私は、彼らが2,147,483,647. . しかし、試し-2147483647てみると、質問が間違っていると言われました。など、いくつかのバリエーションを試しまし-2,147,483,647たが、何も機能しません...

質問を誤解していますか、それとも Web サイトに何か問題がありますか?

PS提案されたように-2,147,483,648も試しました

ここに写真があります ここに画像の説明を入力

4

2 に答える 2

38

整数の最も使用されるサイズは 32 ビットです。最後のビットは、正数と負数を区別するために使用されます。最後のビットが設定されていない場合、数値は正です。したがって、正の最大数は0x7FFFFFFF= (1<<31)-1=2147483647です (最後のビットは設定されません)。

負の数については、2 の補数表記が広く使用されています。すべてのビットを反転して 1 を追加することにより、正の数の対応物を識別できます。したがって、最大整数の対応物は ですが、最小数0x80000001ではありません。

2 の補数表記の最小数は0x80000000=-2147483648です。この数に関する興味深い事実は、それ自体の補数に等しいことです。つまり、すべてのビットを反転し0x7FFFFFFFて 1 を足す0x80000000と、元の数に等しくなります。

wikipediaの 2 の補数表記の詳細。

于 2015-07-28T23:09:27.773 に答える