【2進数】1の補数、2の補数、絶対値+符号(負の整数表現の違い)

「1の補数」「2の補数」「絶対値に符号を付けた」負の整数表現方法の違いについて解説します。

【はじめに】負の整数を表現する方法3つ

2進数で負の整数を表現する主な方法として以下の3種類があります。

種別 概要
1の補数による表現 ●1の補数:全ビットを反転
2の補数による表現 ●2の補数:全ビット反転し、さらに1を加算(桁上がりさせる)
絶対値に符号を付けた表現 左端ビットが0の場合は正、1の場合は負

【計算例】負の整数に変換

2進数「1101」を3つの方法で負の整数に変換します。

種別 計算結果
1の補数による表現 ①全ビットを反転:1101→0010
②絶対値:2
③負の整数:-2
2の補数による表現 ①全ビットを反転:1101→0010
②1を加える:0010→0011
③絶対値:3
④負の整数:-3
絶対値に符号を付けた表現 ①1101のうち、先頭の「1」は符号「-」
②1101のうち、残り3ビット「101」は絶対値5
③負の整数:-5

【計算例】2の補数で減算

●「123-86=37」を2の補数で計算します。

●計算式を8ビットの2進数で表現すると、「0111 1011-0101 0110」となります。

● 加算処理で減算するため、引く数の「0101 0110」を2の補数で表現します。
①ビット反転:1010 1001
②1を加える:1010 1010

● 計算式の符号を加算に変えて計算します。
 0111 1011+1010 1010=1 0010 0101

● 最上位の1ビットを桁あふれとして扱うと、「0010 0101=37(10進数)」になります。

このように、減算処理を負数の作成と加算処理で行うことができます。

【情報処理入門】テクノロジ系、マネジメント系、ストラテジ系、資格試験
情報処理の基礎知識(テクノロジ系、マネジメント系、ストラテジ系)や資格試験についてまとめました。

コメント

タイトルとURLをコピーしました