投稿

4月, 2023の投稿を表示しています

4月28日(金)3コマ目

イメージ
今日、やったこと [確認テスト](負数を含む)10進数<=>2進数 10進数を浮動小数点形式の2進数へ 浮動小数点形式の2進数を10進数へ 今日のホワイトボード 10進数を浮動小数点形式の2進数へ 問題をやってもらいました。ポイントは正規化でしょうか。 問1 111.101を1.11101へ小数点を動かすために、2の何乗を掛ければいいかがポイントです。 図 10進数を浮動小数点形式の2進 数へ問1 問2 これも小数点の移動に注意です。問1と移動方向が違います。 図 10進数を浮動小数点形式の2進数へ 問2 10進数を浮動小数点形式の2進数へ(単精度のフォーマットへ) 問3 問1、問2で正規化した結果(1.xxx × 2n)を単精度のフォーマットで各ビットに値をセットすればOKです。 ただ、指数部にバイアス値(127)を足すことをお忘れなく。 図 10進数を浮動小数点形式の2進数へ(単精度のフォーマットへ) 問3 問4 問3と同じです。 図 10進数を浮動小数点形式の2進数へ(単精度のフォーマットへ) 問4 問5 問4と同じですが、指数が負数になっている点に注意。 図 10進数を浮動小数点形式の2進数へ(単精度のフォーマットへ) 問5 浮動小数点形式の2進数を10進数へ 問6 フォーマットに従って各ビットのデータを切り取ればOK。 指数部はバイアス値(127)を引くことに注意!! 図 浮動小数点形式の2進数を10進数へ 問6 問7 問6とおなじ。 図 浮動小数点形式の2進数を10進数へ 問7 バイアス値は? 指数部の値にバイアス値(127)を足すのは、2進数のビット列にした際、大小の比較が単純にできるように(より上位のビットが1なら大きい)するため。 次回は 浮動小数点形式の2進数をテストをします。 よい連休を。  

4月26日(水)1コマ目

イメージ
今日、やったこと N進数の足し算、引き算 浮動小数点 今日のホワイトボード 前回のテストで 基数の補数を計算する際、繰り下がりのある引き算をする必要がある。 しかし、どっかのサイトに以下のように計算すると簡単と書いてある。例えば4進数の場合、   3 3 3  4 ー 3 2 1 0     1 2 4 そのまま計算して、そのまま回答すると間違える。ご注意ください。 図 基数の補数の計算 繰り上げり、繰り下がりのあるN進数の計算に慣れてもらうために、練習問題をやりました。 2進数->10進数へ(負数あり) 2進数では負数を絶対値の2の補数で表す場合、2進数を10進数への変換をやりました。 流れは下図のようになります。 図 2進数を10進数へ(負数あり) 小数の表し方 日常的に使っているのは固定小数点形式。 コンピュータでは小数は浮動小数点形式で扱っている。 図 小数の表し方 コンピュータでは小数は下図の2進数で扱っている。 図 2進数での浮動小数点形式 小数を浮動小数点形式の2進数へ ①固定小数点形式の2進数へ まず、固定小数点形式の2進数へ変換。これは以前やったのと同じ。 ②正規化 1.xxx × 2n にする。 図 正規化 ③所定のフォーマットへ float型(4バイト)、double型(8バイト)それぞれフォーマットが決まっているので、そのフォーマットに従って、可数部、指数部および符号をセットしていく。 図 float型のフォーマットへ 次回は 負数を含む10進数<=>2進数のテストをします。    

4月24日(月)2コマ目

イメージ
今日、やったこと [確認テスト]基数の補数、減基数の補数 10進数負数を2進数へ 今日のホワイトボード 負数を2進数で表す 方法はいろいろ考えられる。 が、10進数のように符号は使わない。 図 10進数負数を2進数へ 絶対値の2の補数で表す もろもろの事情で10進数の負数を2進数へ変換するには、絶対値の2の補数で表す。 図 負数は絶対値の2の補数で表す(変換手順) ①絶対値を求める 絶対値とは0からの距離。要は符号をとった値。 ② 絶対値を2進数へ ビット数が指定されているはず。そのビット数に合わせる。 ③②を2の補数へ 引き算で一気にやってもいいが、苦手な人は1の補数->2の補数の2段階で。  1の補数へ => 各ビットを反転(0->1、1->0)  2の補数へ => 1の補数+1 なぜ、2の補数? 結論から言えば、加算回路だけで引き算もできるから。 図 6-2で確認 ポイントは 桁数を限定して、上位のケタの値を無視する と加算回路で引き算ができる。 10進数でも同じことができる。 10進数なら負数は10の補数で表す。 図 10進数で確認 次回は テストはしません。 2進数(負数も含む)=>10進数へ基数変換をします。

4月21日(金)3コマ目

イメージ
今日、やったこと N進数の足し算 N進数の引き算 基数の補数 減基数の補数  今日のホワイトボード N進数の足し算 10進数の場合 各ケタの数の足し算をした結果が10以上になると  10は上のケタへケタ上がりする(上のケタの数は1増える)  残りの数はこのケタの数になる となる。 2進数の場合 各ケタの数の足し算をした結果が2以上になると  2は上のケタへケタ上がりする(上のケタの数は1増える)  残りの数はこのケタの数になる となる。 5進数の場合 各ケタの数の足し算をした結果が5以上になると  5は上のケタへケタ上がりする(上のケタの数は1増える)  残りの数はこのケタの数になる となる。 図 N進数の足し算 N進数の引き算 下のケタから順に各ケタの数の引き算をする。 上のケタから借りてくるのは基数(N)。 10進数の場合 各ケタの数の引き算をする際、結果が0より小さくなる場合は、上のケタから10を借りてくる。(上のケタの数は-1) 2進数の場合 各ケタの数の引き算をする際、結果が0より小さくなる場合は、上のケタから2を借りてくる。(上のケタの数は-1) 図 2進数の引き算 5進数の場合 各ケタの数の引き算をする際、結果が0より小さくなる場合は、上のケタから5を借りてくる。(上のケタの数は-1) 図 5進数の引き算 基数の補数 足すとケタ上がりする最小の数 10進数の場合 10進数において、基数の補数を10の補数とも呼ぶ。 図 10進数での基数の補数(10の補数) 6進数の場合 6進数において、基数の補数を6の補数とも呼ぶ。 図 6進数での基数の補数(6の補数) 引き算のさい、上のケタからかりてくるのは6。 減基数の補数 足してもケタ上がりしない最大の数 。 10進数の場合 10進数において、減基数の補数を9の補数とも呼ぶ。 図 10進数での減基数の補数(9の補数) 6進数の場合 6進数において、減基数の補数を5の補数とも呼ぶ。 図 6進数での減基数の補数(5の補数) 基数の補数と減基数の補数の関係  基数の補数 = 減基数の補数 + 1  減基数の補数 = 基数の補数 ー 1 次回は 基数の補数、減基数の補数の家訓テストをします。

4月19日(水)1コマ目

イメージ
今日、やったこと [確認テスト]N進数の小数=>10進数 10進数の小数をN進数へ基数変換 今日のホワイトボード N進数のケタの数は 例えば、2進数の場合、 小数第1位のケタの数・・・2 -1 がいくつあるか 小数第2位のケタの数・・・2 -2 がいくつあるか です。 5進数なら 小数第1位のケタの数・・・5 -1 がいくつあるか 小数第2位のケタの数・・・5 -2 がいくつあるか です。 図 N進数でのケタの数は 10進数の小数を2進数へ 2進数へ変換するには 2 -1 がいくつあるか調べる=>小数第1位のケタの数 2 -2 がいくつあるか調べる=>小数第2位のケタの数 と順に調べて行けば、各けたの数が分かる。 ①小数第1位のケタの数 2進数へ変換した際の小数第1位のケタの数は、2 -1 がいくつあるか。 2を掛けるとその答えの整数部が0または1になる。 0なら2 -1 は0個、1なら2 -1 は1個あることになる。 よって、 10進数小数に2を掛けた答えの整数部が小数第1位のケタの数 。 また、掛け算の答えの小数部分は2 -1 より小さい数=小数第2位以下に行く数。 ②小数第2位のケタの数 小数第2位のケタの数は①の掛け算の答えの小数部分に2を掛けるとわかる。 結局、元の10進数小数に2を2回掛けることになるので、2 -2 がいくつあるかがわかることになる。 よって、 ①の掛け算の答えの小数部分に2を掛けた答えの整数部が小数第2位のケタの数 。 また、掛け算の答えの小数部分は2 -2 より小さい数=小数第3位以下に行く数。 ③いつまで2を掛ける? 掛け算の答えの小数部分が0になるまで。 図 10進数の小数を2進数へ 10進数の

4月17日(月)2コマ目

イメージ
今日、やったこと 確認テスト(整数の基数変換) 小数の基数変換(N進数=>10進数) 今日のホワイトボード 小数でのケタの重み 小数点以下は、N -1 、N -2 、・・(Nは基数)となる。 図 小数でのケタの重み ちなみに2進数でのケタの重みは下図のようになる。 図 2進数の小数のケタの重み 練習問題の解答例 ケタの重みが分かればあとは整数の場合と同じ。  ケタの数×ケタの重み の総和 でN進数の小数を10進数へ基数変換できる。 ⑦、⑧8進数の小数を10進数へ 図 8進数小数を10進数へ ⑨、⑩16進数の小数を10進数へ 図 16進数小数を10進数へ 次回は N進数の小数を10進数へ基数変換の確認テストをします。  

4月14日(金)3コマ目

イメージ
今日、やったこと 10進数=>N進数(N>10) 2進数<=>8進数、16進数 今日のホワイトボード 10進数をN進数へ(N>10) 基本的に前回の10進数をN進数にすると同じ。 ただ、N>10だとNで割ったあまりが10以上になるときがある。(10進数同士の計算なので) もし、余りが10以上になったら、さらに余りをN進数へ変換する必要がある。 [例]10進数を12進数へ 12で割った余りは10、11になることがある。 10は12進数ではa、11は12進数ではb。 図 10進数を12進数へ 2進数から8進数へ 今までの知識では ①2進数から10進数へ基数変換 ②10進数から8進数へ基数変換 の2段階で変換する必要がある。 が、一気に2進数から8進数へ変換することができる。 図 2進数から8進数へ 2進数を下のケタから3ケタずつ8進数へ変換すれば、一気に8進数へ変換できる。 逆(8進数を2進数へ)も同じように考えると、8進数の1ケタは2進数の3ケタ分になる。 2進数を16進数へ 8進数と同じように考えると、 2進数の4ケタが16進数の1ケタになる。 図 2進数を16進数へ 2進数の下のケタから4ケタずつ16進数へ変換すれば、一気に16進数へ変換できる。 逆(16進数を2進数へ)も同じように考えると、16進数の1ケタは2進数の4ケタ分になる。 [練習問題]2進数を8進数、16進数へ 図 2進数を8進数、16進数へ [練習問題]8進数を2進数へ 8進数の1ケタは2進数の3ケタ分。 よって、 8進数の各けたの数を3ケタの2進数へ変換 すればいい。 図 8進数を2進数へ [練習問題]16進数を2進数へ 16進数の1ケタは2進数の4ケタ分。 よって、 16進数の各けたの数を4ケタの2進数へ変換 すればいい。 図 16進数を2進数へ 次回は N進数を10進数へ基数変換、10進数をN進数へ基数変換のテストをします。

4月14日(金)2コマ目

イメージ
 今日、やったこと 10進数をN進数へ 今日のホワイトボード 割り算の答えと余り 割り算は割られる数(分子)には割る数(分母)がいくつあって(答え)、あまる数がいくつ(余り)あるかを調べる。 たとえば、1735を10で割った答え173は1735には10が173個あることになる。 10進数では10でケタ上がりするため、10で割った答えはケタ上がりしていく数(2ケタ目以上の数)と言える。 あまりの5はケタ上がりからあまる数。これが1ケタ目の数になる。 図 10で割った答えとあまり 10進数を2で割っていくと 2進数のケタの重みは  1ケタ目 20 1  2ケタ目 21 2 となっている。 1ケタ目は2(2ケタ目のケタの重み)から余る数。よって、2で割った余りが1ケタ目の数になる。 2で割った答えは2ケタ目以上の数。これを2で割った余りが2ケタ目の数になる。 と、どんどん2で割った余りが2進数にした時の各けたの数。 図 10進数を2で割ったあまりが2進数の各けたの数 [結論]10進数をN進数にするには 10進数をNで割ったあまりがN進数での各けたの数。 Nで割った答えをさらにNで割る。これを答えが0になるまで繰り返す。 10進数を4進数へ 4進数(基数は4)にしたいので、4で割る。余りが4進数での各けたの数。 図 10進数を4進数へ

4月12日(水)1コマ目

イメージ
 今日、やったこと N進数とは 基数 N進数を10進数へ 今日のホワイトボード 10進数は 10進数は0~9の10個の記号を使う。 図 10進数 3進数は 3進数は0、1、2の3つの記号を使う。 0->1->2の次は3にはならずにケタ上がり(2ケタ目が1増える)して、10になる。 図 3進数 11進数では 11進数では0~9に加えて11番目の記号を使う。 11番目の記号にはaがよく使われている。 図 11進数 2進数 コンピュータではよく2進数が使われる。 2進数は0と1の2つの記号を使う。 図 2進数 基数 10進数なら基数は10。2進数なら基数は2。 ケタの重み 10進数でのケタの重みは下図のとおり。 図 ケタの重み(10進数) N進数のnケタ目のケタの重みは   N (n-1) になる。 ケタの重みとは、10進数での各桁の基準となる値。 2進数では下図のとおり。 図 ケタの重み(2進数)