投稿

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を借りる

4月28日(木)1コマ目

イメージ
今日、やったこと 基数の補数 減基数の補数 今日のホワイトボード 10進数の場合 基数の補数(10の補数) 足すとケタ上がりする最小の数 。 n->10、nn->100、nnn->1000、nnnn->10000・・にするために補う数。 減基数の補数(9の補数) 足すとケタ上がりしない最大の数 。 n->9、nn->99、nnn->999、nnnn->9999・・にするために補う数。 図 基数の補数、減基数の補数(10進数の場合) 2進数の場合 減基数の補数(1の補数) 足すとn->1、nn->11、nnn->111、・・になる数。 要は0のところが1になればいいので、 ビット反転(0->1、1->0) するだけ。 図 減基数の補数(1の補数) 基数の補数(2の補数) 足すとn->10、nn->100、nnn->1000、・・と ケタ上がりする数 。 減基数の補数(1の補数)に1を加えた数 が基数の補数になる。 図 基数の補数(2の補数) 8進数での基数の補数、減基数の補数 8進数は8でケタ上がりする。 引き算の時、上のケタから借りてくるのは8。 減基数の補数(7の補数) 足すとn->7、nn->77、nnn->777、・・になる数 。 引き算してください。上のケタから借りてくるのは8。 基数の補数(8の補数) 足すと n-> 10、n n-> 100、nn n-> 1000、・・とケタ上がりする数 。 引き算してもいいですが、減基数の補数(7の補数)に1加えてもOK。 図 8進数でのヒント 次回は テストはしません。 多分、補数のおさらいをすると思います。よい連休を!!  

4月27日(水)1コマ目

イメージ
今日、やったこと [テスト]小数の基数変換 2進数の足し算、引き算 今日のホワイトボード 2進数の足し算 ポイントは 2で繰り上がり(ケタ上がり) 。 図 2進数の足し算 2進数の引き算 ポイントは 上のケタから2を借りてくる 。 図 2進数の引き算 N進数の足し算 たとえば、8進数の場合。 図 8進数の足し算 8進数なら8で繰り上がり(ケタ上がり)。 N進数ならNで繰り上がり。 まあ、どうでもええ話ですが 今日やった小数の基数変換のテストを採点しました。 落ち着いて計算してください。  

4月25日(月)2コマ目

イメージ
今日、やったこと 10進数の小数をN進数へ基数変換 今日のホワイトボード そもそも小数は 小数の各ケタの数はケタの重みがいくつあるかです。 例えば、10進数の小数の小数第1位のケタの数は0.1(10 -1 )がいくつあるかです。 小数第2位のケタの数は0.01(10 -2 )がいくつあるかです。 2進数の場合、小数第1位のケタの数は0.5(2 -1 )がいくつあるかです。 小数第2位のケタの数は0.25(2 -2 )がいくつあるかです。 図 小数のケタの数は 10進数0.23は0.1(小数第1位)が2こ、0.01(小数第2位)が3こあります。 こんな0.23に10を掛けると2.3になります。整数部の2はもともと小数第1位のケタの数です。 10進数なので、10を掛けるとケタが1つ大きくなるため、小数第1位のケタの数が整数部にケタ上がりするわけです。 2進数の場合も同じで、2を掛けるとケタが1つ大きくなるため、小数第1位のケタの数が整数部にケタ上がりします。 10進数の小数を2進数へ 結論から言えば、 ①変換後の基数2を変換対象の10進数の小数にかける  答えの整数部は変換後の小数第1位のケタの数 ②①の答えの小数部に2をかける  答えの整数部は変換後の小数第2位のケタの数 ③答えの小数部が0になるまで続ける です。 図 10進数の小数を2進数へ 10進数の小数をN進数へ 2進数への変換と同じです。 ①変換後の基数Nを変換対象の10進数の小数にかける  答えの整数部は変換後の小数第1位のケタの数 ②①の答えの小数部にNをかける  答えの整数部は変換後の小数第2位のケタの数 ③答えの小数部が0になるまで続ける 整数部がある小数を変換する 整数部と小数部を別々に変換後、いっしょにしてください。 次回は テストをします。範囲は N進数の小数を10...

4月21日(木)1コマ目

イメージ
今日、やったこと [テスト]10進数をN進数へ基数変換(N>10) 8進数,16進数を直接2進数へ基数変換  N進数の小数 今日のホワイトボード 8進数、16進数を直接2進数へ基数変換 8進数なら、各ケタの数を3ビットの2進数へ変換。 16進数なら、各ケタの数を4ビットの2進数へ変換。 図 2進数を直接8進数、16進数へ基数変換 N進数の小数 小数の場合、ケタの重みはN-1、N-2、となるだけ。 あとは今までと同じ。ただし、分数が出てきます。分数の計算が苦手な人にはつらいかも。 図 小数の場合のケタの重み 次回は テストはしません。