Java を初めて学ぶ人のための学習サイトです。実用的なコード例でわかりやすく解説しています。
Java 入門Java 入門
Java 開発環境
Java の基本
クラスライブラリ
さらに学ぶ
サイト情報
ホーム > Java の基本 > 100 の 2 の補数を求める

100 の 2 の補数を求める

-100 のビット列がどのようになるか考えてみましょう。

負の値は 2 の補数 (Two's complement) で表現されます。

(正の) 100 は次のビット列です。

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0

2 の補数は、与えられた 2 進数値に対して、そのビット数より 1 桁多く最上位ビットが 1、 残りがすべて 0 であるような数値 (n=8なら 100000000 )から、元の数を引いた数として求められますから、 次のように計算できます。

  1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-)   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0

  1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 0

以上から、100 の 2 の補数は次のとおりになります。

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 0

これは電卓で検算した結果と合ってます。


© 2010 Java 入門