5月25日(水)1コマ目
今日、やったこと [確認テスト]負の10進数=>2進数 2進数=>10進数(負数あり) 今日のホワイトボード 2進数を10進数へ(負数あり) 2進数にした際、負数は絶対値の2の補数で表す場合での10進数への基数変換の方法です。 図 2進数=>10進数(負数あり) ①最上位ビットチェック 0なら正の数=>いままでどおりのやり方で10進数へ 1なら負の数=>②へ ②1の補数へ この2進数は絶対値の2の補数。 まずは1の補数へ変換。 2の補数 = 1の補数 + 1 より、 1の補数 = 2の補数 - 1 ③元の数の絶対値へ 元の数の絶対値に戻すには、 ビット反転 。 ④10進数へ 絶対値を10進数へ。 ⑤符号をつける 負の数なので、-をつける。 ②、③を一気にやる方法 1の補数にして、元の絶対値にして、と何段階もやらなくてもできます。 例えば4ビットの場合 2の補数 = 10000 - 元の数 元の数 = 10000 - 2の補数 4ビットなら 5ビットの最小値 - 2の補数 で元の数がわかります。 練習問題 ⑩はひっかけです。ビット列が指定ビット長に足りません。 足りない場合は、上位ビットに0を追加してください。 図 ビット長に足りない場合 次回は 2進数=>10進数(負数あり)のテストをします。