Javaの蒋介石・ストレージ・負 - 正反コードおよび補体

Javaの蒋介石・ストレージ・負 - 正反コードおよび補体

正ヤード

私たちは、たとえば、intは4バイト、32ビットを占有し、int型

0は、メモリとして存在
00000000 00000000 00000000 00000000

図11は、メモリの存在である
00000000 00000000 0,000,000,000,001,011

反転

反転対応を取得することにより、ビット反転、

11で例えば

Nコード:00000000 00000000 0,000,000,000,001,011

アンチコード:1,111,111,111,111,111 1,111,111,111,110,100

補数

プラス1補数をもとに、あなたは補体を得ることができます。

また、一例として11で

Nコード:00000000 00000000 0,000,000,000,001,011

アンチコード:1,111,111,111,111,111 1,111,111,111,110,100

補完:1,111,111,111,111,111 1,111,111,111,110,101

これを得ることができる場合、メモリ内の表現-11(1,111,111,111,111,111 1,111,111,111,110,101)

あなたはバイナリが実際に負の数(最上位ビットが1である)であるかどうかを知りたい場合は

0xFFFFFFFFをする例として、

補完:1,111,111,111,111,111 1,111,111,111,111,111

アンチコード:1,111,111,111,111,111 1,111,111,111,111,110

Nコード:00000000 00000000 0,000,000,000,000,001

コードnが1であり、0xFFFFFFFFの(11111111 11111111 11111111 11111111)を表す-1。

その理由

唯一このように表現するために負の数によって追加されたデータに直接もたらされるだけ加数が利用可能なデータに計算を行うために、基礎となるハードウェアは、直接バイナリコードを添加することによって実現することができるからですまた、データの減算。

+ 5まで-11の例

-11:11111111 11111111 11111111 11110101

5:00000000 00000000 00000000 00000101

-6:11111111 11111111 11111111 11111010

アンチコード:1,111,111,111,111,111 1,111,111,111,111,001

Nコード:00000000 00000000 0,000,000,000,000,110

おすすめ

転載: www.cnblogs.com/Pikzas/p/12167569.html