コンテンツ
2進数システムには1と0の2つのシンボルしかないため、負の数を表すことはマイナス記号を前に追加するほど簡単ではありません。ただし、負の数をバイナリで表す簡単な方法があります。この記事では、その問題に対する3つのソリューションを提供します。
符号ビットを使用する
2進数の表現に使用するビット数を選択します。 8ビット数が長い間標準として使用されてきました。これは、コンピュータープログラミングの整数の元のサイズでした。もちろん、長整数(16ビット)もあります。注:8ビット整数を使用する場合、実際の数を表すために7ビットのみが使用されます。
符号ビットとして機能する左端のビットを選択します。ビットが0の場合、数値は正です。 1の場合、数値は負です。
8ビットすべてを使用して負の数を書き込みます。したがって、番号-5は10000101と書き込まれます。
1の賛辞の使用
正の場合のように、バイナリで数値を書きます。繰り返しますが、8ビット整数を使用していると仮定して、5を00000101と書き込みます。
数字を反転します-すなわち1は0になり、0は1になります。したがって、5は11111010になります。
左端のビットを符号ビットとして使用します。したがって、符号ビットを使用する場合と同様に、正の数値にはすべて0の先行ビットがあり(8ビット形式で記述した場合)、負の数値にはすべて先行の1が含まれます。数値を使用するには、符号ビット情報を使用して、数値を戻すための数字。
2s Complimentを使用する
8ビットすべてを使用して、あたかも正であるかのように数字を書きます。 5は00000101です。
ビットを反転させ、1の賛辞で行ったように1と0を切り替えます。したがって、再び、5は11111010になります。
番号に1を追加します。したがって、5は11111010 + 00000001 = 11111011になります。
答えを確認してください。数値11111011は、10を基数に戻す(-128 + 64 + 32 + 16 + 8 + 0 + 2 + 1 = -5)。