web-dev-qa-db-ja.com

32ビット符号付き整数の最小値は何ですか?

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

私は、彼らが2,147,483,647と同じくらい大きな数を格納できる典型的な32ビットintについて話していると仮定しました。しかし、-2147483647を試してみると、質問が間違っていると言われました。 -2,147,483,647などのいくつかのバリエーションを試しましたが、何も機能しません...

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

PS私はまた提案されたように-2,147,483,648を試みました

これが写真です enter image description here

16
java

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

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

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

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

30
Timofey

符号付き32ビット整数は、-2,147,483,648

7
Zack Newsham

ITSがバイナリ形式または16進数形式の番号を要求しているのかもしれません。

0
schreibikus