4月24日(水)1コマ目

今日、やったこと

10進数の負数を2進数へ変換

今日のホワイトボード

基数の補数と減基数の補数の関係

下図のような関係。

図 基数の補数と減基数の補数の関係

2進数における基数の補数(2の補数)の求め方

2種類の方法を紹介。

方法1

減基数の補数(1の補数)を求め、+1して基数の補数(2の補数)へ
図 2進数での基数の補数(2の補数)の求め方 方法1
減基数の補数(1の補数)はビットを反転するだけ。
減基数の補数(1の補数)に+1すると、基数の補数(2の補数)になる。
方法2に比べると間違いにくい。

方法2

ケタ上がりした最小値(4ケタなら5ケタの10000)からー1
図 2進数での基数の補数(2の補数)の求め方 方法2
引き算に要注意。
方法1より計算量が少ない。

コンピュータ内で負数は

コンピュータ内ではデータは2進数で表される。
負数は絶対値の基数の補数(2の補数)で表される。

10進数の負数を2進数へ

図 10進数の負数を2進数へ
①絶対値を2進数へ
 絶対値は0からどれくらい離れているか。
 要は符号をとった値。
②絶対値の2進数の2の補数を求める
 上記の方法1、方法2のどちらでも。

なぜコンピュータ内では負数を2の補数で表す?

負数を2の補数で表すと引き算を足し算で処理できるから。
図 負数を2の補数で表す->引き算が足し算できるから
ポイントは4ビット同士の計算なら結果は4ビットのみ有効にするところ。

このおかげでコンピュータは加算回路だけで足し算、引き算ができる。
減算回路を用意する必要がない。

ちなみに10進数でも

  • 負数を基数の補数(10の補数)で表す
  • 計算結果ケタ数は計算する値のケタ数のみ有効
で引き算を足し算で処理できる。
図 10進数で負数を10の補数で表して、足し算で引き算する


次回は

テストはしません。

 

このブログの人気の投稿

6月7日(金)1コマ目

6月14日(金)1コマ目

5月31日(金)1コマ目