投稿

5月, 2022の投稿を表示しています

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進数(負数あり)のテストをします。

5月18日(水)1コマ目

イメージ
今日、やったこと 負の10進数を2進数へ基数変換 今日のホワイトボード 負の10進数を2進数へ基数変換 負の10進数を2進数で表す際、絶対値の2の補数(基数の補数)で表します。 10進数の-4を4ビットの2進数に変換する場合 ①-4の絶対値を求める  -4の絶対値は4。 ② 4を4ビットの2進数へ  0100になる。 ③2進数0100の2の補数を求める  5ビットの最小値(10000)からの引き算で求めると  10000 - 0100 = 1100  1の補数=>1の補数+1で求めると  1の補数は 1011  +1すると 1100 この1100が10進数-4を4ビットの2進数にした値。 なぜ負数を2の補数で表すのか? 引き算が足し算でできるから。 図 なぜ負数を2の補数で表すのか? コンピュータに足し算回路さえあれば2進数の足し算と引き算ができることになります。 なぜ、引き算が足し算でできるのか? ポイントは計算する桁数を縛ることです。 4ビット同士の計算なら結果も4ビットに。 5ビット目にケタ上がりする値は無視。 図 なぜ足し算で引き算ができるのか? 10進の場合も同じように計算する桁数を縛れば、負数を絶対値の10の補数(基数の補数)で表せば、足し算で引き算ができる。 次回は 10進数の負数を2進数へ基数変換するテストをします 。

5月11日(水)1コマ目

イメージ
今日、やったこと (おさらい)N進数の足し算、引き算 (おさらい)N進数の基数の補数、減基数の補数 2進数での負数の表現方法 今日のホワイトボード (おさらい)N進数の足し算、引き算  8進数を題材にしました。8進数の引き算では上のケタから借りてくるのは8。 図 8進数の引き算 (おさらい)基数の補数、減基数の補数 基数の補数は足すとケタ上がりする最小値。 減基数の補数は足すとケタ上がりしない最大値。 2進数の場合 引き算の際、上のケタから借りてくるのは2。 また下のケタに2を貸すと、その桁の値は1減。 図 2進数での2の補数、1の補数 4進数の場合 引き算の際、上のケタから借りてくるのは4。 また下のケタに4を貸すと、その桁の値は1減。 図 4進数での4の補数、3の補数 2進数での負数の表現 絶対値の2の補数 で表す。 10進数の負数を2進数にするには ①絶対値を2進数へ ②変換した2進数の2の補数を求める 図 2進数で負数を表現する なお、2の補数を求める際の引き算が苦手な方は ①まず1の補数へ これは簡単。ビットを反転(0->1、1->0)するだけ。 ②1の補数にプラス1 1の補数+1で2の補数になる。 図 簡単な2の補数の求め方 まとめ 2進数の足し算、引き算をする機会がちょこちょこあります。 理屈は普段の10進数の足し算、引き算と同じです。 10進数は10でケタ上がり=>上のケタから10を借りる 2進数は2でケタ上がり=>上のケタから2を借りる