投稿

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

5月1日(水)1コマ目

イメージ
今日、やったこと [確認テスト]負数の2進数<=>10進数変換 浮動小数点形式 ビットシフト 今日のホワイトボード 浮動小数点形式 前回は10進数の小数を浮動小数点形式の2進数へ変換しました。 今日は逆パターン(浮動小数点形式の2進数を10進数へ)をしました。 ポイントは 指数部のバイアス値 可数部は正規化した可数部の小数点以下 です。 図 練習問題 問6 図 練習問題 問7 ビットシフト ビットシフトはビット列を左右にずらすこと。 ずらすことで生まれる空きビットになにを入れるかがポイント。 左シフト 指定ビット数だけ左にずらす。 右側にできた空きビットには0をいれる。 図 左シフト 右シフト 指定ビット数だけ右にずらす。 左側にできた空きビットに何をいれるかで論理シフト、算術シフトに分かれる。 右シフト(論理シフト) 左側にできた空きビットに0をいれる。 図 右シフト(論理シフト) シフト対象が符号なしの場合に利用。 右シフト(算術シフト) 左側にできた空きビットには符号ビットと同じ値をいれる。 図 右シフト(算術シフト) シフト対象が符号ありの場合に利用。 左シフトはかけ算 m桁左にシフト = ×N m Nは基数 図 左シフトはかけ算 ...

4月26日(金)1コマ目

イメージ
今日、やったこと 2進数(負数は絶対値の2の補数で表す)->10進数  浮動小数点形式 今日のホワイトボード 2進数(負数は絶対値の2の補数で表す)->10進数  図  2進数(負数は絶対値の2の補数で表す)->10進数  ①最上位ビットチェック 0なら正の数  そのまま10進数へ変換 1なら負の数  この2進数は絶対値の2の補数 ②絶対値の2の補数->絶対値へ変換 3ビットの場合 2の補数を足すとケタ上がりして4ケタの1000になる  絶対値 + 2の補数 = 1000 4ビットの場合 2の補数を足すとケタ上がりして5ケタの10000になる  絶対値 + 2の補数 = 10000 ③絶対値を10進数へ そのまま10進数へ変換。 ④符号をつける 負数なので-をつける。 例 符号付きの3ビットの2進数111を10進数へ 図 符号付き3ビットの111を10進数へ 浮動小数点とは 実数の表現は 固定小数点形式 浮動小数点形式 がある。 図 実数の表し方 10進数の小数を浮動小数点形式の2進数へ変換 ①正規化 まずは前回やった方法で2進数へ。 その結果を   1.xxxx × 2 n の形に変換。(これを正規化と呼ぶ) 図 正規化 ②指定のフォーマットへ float、doubleはそれぞれフォーマットが決まっている。正規化した結果を決められたフォーマットにする。 指数に+127(バイアス値)を足すことをお忘れなく。 ...

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の補数で表して、足し算で引き算する 次回は テストはしません。  

4月22日(月)1コマ目

イメージ
今日、やったこと N進数の足し算、引き算 補数(基数の補数、減基数の補数) 今日のホワイトボード N進数の足し算 ケタの和がN以上の場合、上のケタにケタ上がりして、上のケタが1増える。 10進数の足し算 10進数は10でケタ上がり。 各ケタの和が10以上になった場合、10は上のケタにケタ上がり(上のケタが1増える)。 残りがそのケタの数になる。 図 10進数の足し算 2進数の足し算 2進数は2でケタ上がり。 各ケタの和が2以上になった場合、2は上のケタにケタ上がり(上のケタが1増える)。 残りがそのケタの数になる。 図 2進数の足し算 5進数の足し算 5進数は5でケタ上がり。 各ケタの和が5以上になった場合、5は上のケタにケタ上がり(上のケタが1増える)。 残りがそのケタの数になる。 図 5進数の足し算 N進数の引き算 引き算は上のケタから借りてくる場合がある。 上のケタから借りてくるのはN。 下のケタに貸し出すのは1。 10進数の引き算 上のケタから借りてくるのは10。 下のケタに1を貸し出す。これが下のケタでは10になる。 ※10でケタ上がり=上のケタが1増える 図 10進数の引き算 2進数の引き算 その1 上のケタから借りてくるのは2。 下のケタに1を貸し出す。これが下のケタでは2になる。 ※2でケタ上がり=上のケタが1増える 図 2進数の引き算① 2進数の引き算 その2 上のケタから2を借りて、さらに下のケタに2を貸す場合、そのケタの数は  上のケタから2を借りる => +2  下のケタに2を貸す => -1 となり、結局+1になる。 図 2進数の引き算② 5進数の引き算 上のケタから借りてくるのは5。 下のケタに1を貸し出す。これが下のケタでは5になる。 ※5でケタ上がり=上のケタが1増える 図 5進数の引き算① 図 5進数の引き算② 基数の補数 足すとケタ上がりする数のうち、最小の数。 10進数の場合 10進数における基数の補数を 10の補数 と呼ぶこともある。 図 10進数における基数の補数(10の補数) 6進数の場合 6進数における基数の補数を 6の補数 と呼ぶこともある。 図 6進数における基数の補数(6の補数) 減基数の補数 足すとケタ上がりしない最大の数。 10進数の場合 10進数における減基数の補数を 9の補数 と呼ぶこともある。...

4月19日(金)1コマ目

イメージ
今日、やったこと 基数変換(10進数の小数をN進数へ) 今日のホワイトボード 2進数の小数点以下は Nケタ目のケタの数は   2 -N がいくつあるか です。 図 2進数の小数点以下のケタの重み、ケタの数 小数点以下の各ケタの数は(2進数の場合) ①小数第1位のケタの数 10進数を2進数へ変換する場合、小数第1位のケタの数は   変換対象(10進数)に2 -1 がいくつあるか です。 これを調べるには 変換対象に2をかけた答えの整数部 が2 -1 が含まれる数になります。 答えの小数点以下は2 -1 から余る数で、基数変換後の小数第2位以下の数です。 ②小数第2位のケタの数 ①の掛け算の答えの小数部に2をかけた答えの整数部 が2 -2 が含まれる数になります。 4ではなく、2をかけるのはすでに①でいちど2をかけた答えだからです。 2をかけた答えの整数部が小数第2位の値。小数部は基数変換後の小数第3位以下の数です。 ③小数第3位のケタの数 ②の掛け算の答えの小数部に2をかけた答えの整数部 が2 -3 が含まれる数です。 答えの小数部が小数点第4位以下の数です。が、.0なので、小数点第4位以下の値はありません。 図 2進数へ変換する際の各ケタの数 5進数の小数点以下は Nケタ目のケタの数は   5 -N がいくつあるか です。 図 5進数の各ケタの重み、ケタの数 各ケタの数は(5進数の場合) 2進数の場合と同じ。 5をかけた答えの整数部が基数変換後の各ケタの値 。 小数点以下にさらに5をかけてを掛け算の答えの小数点以下が0になるまで繰り返す。 ...

4月17日(水)1コマ目

イメージ
今日、やったこと 基数変換(N進数の小数を10進数へ) 今日のホワイトボード 小数でのケタの重み 小数第1位では基数の-1乗 、 小数第2位では 基数の -2乗 、・・になる。 図 小数でのケタの重み 練習問題 ①~⑥ 2進数の小数を10進数へ変換でした。 登場する分数の分母もそれほど大きくないため、落ち着いて計算すれば間違うことはないです。 ⑦8進数の小数を10進数へ 8進数になると、8 -1 、8 -2 と分母が大きくなるため、計算ミスをしやすいです。 図 ⑦8進数0.24を10進数へ ⑧8進数の小数を10進数へ これは整数部があります。 整数部と小数部を別々に基数変換し、最後の足すほうが楽だと思います。 図 ⑧8進数12.12を10進数へ ⑨16進数の小数を10進数へ 16進数になると、分母がかなり大きな数になります。計算ミス注意です。 図 ⑨16進数11.5を10進数へ ⑩16進数の小数を10進数へ 16進数なので、ケタの数にa~fが出てきます。これを10進数に変換する必要があります。 また、小数第3位まであります。分母がかなりエグいことになってます。 計算ミス注意です。 図 ⑩16進数0.E19を10進数へ 次回は テストをします。  

4月15日(月)1コマ目

イメージ
今日、やったこと 基数変換(2進数 <=> 8進数、16進数) 今日のホワイトボード 2進数を8進数へ 2進数を一旦10進数へ変換し、さらに8進数へ変換すればできる。 が、めんどくさい。 下図のように実は 2進数の3ケタ=8進数の1ケタ です。 図 2進数と8進数の各けた 2進数を16進数へ これも実は下図のように 2進数の4ケタ=16進数の1ケタ です。  図 2進数と16進数の各けた 練習問題 ①2進数を8進数、16進数へ 2進数3ケタが8進数の1ケタ。 2進数4ケタが16進数の1ケタ。 図 練習問題①(2進数を8、16進数へ) ②2進数を8進数、16進数へ 2進数4ケタが16進数の1ケタ。 しかし、 場合によっては 2進数4ケタを10進数に変換すると2ケタになる。 2進数4ケタを16進数へ変換しなければならない。 図 練習問題②(2進数を8、16進数へ) ⑥8進数を2進数へ 逆のパターン。 8進数1ケタは2進数の3ケタ。 図 練習問題⑥(8進数を2進数へ) ⑨16進数を2進数へ 16進数1ケタは2進数の4ケタ。 図 練習問題⑨(16進数を2進数へ) 次回は テストをします。

4月12日(金)1コマ目

イメージ
今日、やったこと 基数変換(10進数をN進数へ) 今日のホワイトボード 割り算の答えとあまり 割り算は割られる数(分子)には割る数(分母)がいくつあって(答え)、あまる数がいくつ(あまり)あるかを調べることができる。 10進数の1735を10で割った答えの173は10が173個あることになる。 10進数では10でケタあがりするので、10で割った答え173はケタ上がりしていく数(2ケタ目以上の数)。 あまりの5は2ケタ目以上からあまる数。これは1ケタ目の数になる。 図 10進数の1735を10で割ると 10進数を2進数へ変換 2進数の1ケタ目は2ケタ目以上から余る数。 これは2ケタ目のケタの重みの2で割ったあまり。答えは2がいくつあるか。2ケタ目以上の数。 2ケタ目は3ケタ目以上から余る数。 これは3ケタ目のケタの重みの4で割った余り。だけど、先ほど2で割った答えをさらに2で割った余りと同じ。 まとめると以下のとおり。 2進数なので、2でケタ上がりする。 ケタ上がりする2から余る数が各ケタの数。これは2で割った余り。 上位のケタの数(割り算の答え)がなくなるまで(割り算の答えが0になるまで)、割り算をする。 図 10進数を2進数へ変換 10進数を4進数へ変換 4進数へ変換したいので、ケタ上がりする4から余る数が各ケタの数。 図 10進数を4進数へ変換 10進数を12進数へ変換 12進数へ変換したいので、ケタ上がりする12から余る数が各ケタの数。 図 10進数を12進数へ変換 注意!! 変換後の基数が10より大きいとき、割り算の余りは10以上になる場合がある。 10進数同士の計算なので、余りも10進数。余りが10以上のときはその余りを基数変換する必要がある。 次回は 評価は小テスト積み上げ型で行います。 テスト実施日に欠席しても、欠席理由が体調不良や自動車教習所、自動車免許の試験受験等では再テストは実施しません。ご注意ください。(配慮できるのは忌引き、インターンシップ参加など) ということで、次回は基数変換(N進数を10進数へ、10進数をN進数へ)のテストをします。