投稿

5月22日(金)1コマ目

イメージ
今日、やったこと [ビットシフト]右シフト 文字コード 今日のホワイトボード 右シフト 右シフトはわり算。 図 右シフトはわり算 論理シフト?算術シフト? ”符号なし”なら論理シフト。空きビットには0を入れる。 図 ”符号なし”なら論理シフト ”符号あり”なら算術シフト。空きビットには、符号ビット(最上位ビット)と同じ値を入れる。 図 ”符号あり”なら算術シフト わり算の答えは整数にはならないこともあるけど C言語でint型同士の計算は、結果はint型になると習ったと思います。 整数同士の足し算、引き算、掛け算は答えはかならず整数になるが、割り算は整数にならないこともある。 でも、コンピュータでは、割り算は右シフトでおこなっているため、整数同士の割り算の答えは整数になる。 図 右シフトで整数同士のわり算をすると [練習問題]ビットシフト 問3 レジスタは要はメモリ。 16進数1ケタを4ビットの2進数へ変換する。 図 問3 正解例 ビットシフトの問題というより、16進数<=>2進数の問題かな。 問4 ビットシフトで掛け算の問題。 図 問4 正解例 [文字コード]コンピュータで文字を扱うには 文字を数値で扱う。 文字を数値にするには、 数値化する対象を決める 数値化するルールを決める 必要がある。 図 文字をコンピュータで扱うには [文字コード]エンコード・デコード 文字を数値(コード)へ変換することをエンコード、数値(コード)を元の文字に戻すことをデコードと呼ぶ。 図 エンコード・デコード 規格制定団体 世の中のモノがどこで買っても同じように使えるのは、規格に従って作られているから。 規格を決める団体を規格制定団体と呼ぶ。 いろいろな規格制定団体があるが、JISとISOは覚えてほしい。 図 規格制定団体 次回は ビットシフトで「次回にあとまわし」にした内容(符号ありの右シフト)。 そのあと文字コードのつづき。  

5月11日(月)1コマ目

イメージ
今日、やったこと [確認テスト]浮動小数点 ビットシフト 今日のホワイトボード ビットシフト ビットシフトはビット列を指定されたビット数だけ左右にずらすこと。 左にずらせば、左シフト。右にずらせば、右シフト。 左シフト ビット列を指定されたビット数だけ 左にずらす こと。 ずらした後、 左側にできる空白ビットには0を挿入 する。 図 左シフト 右シフト 右シフトは 論理シフト 算術シフト の2種類がある。 論理シフト(右シフト) ビット列を指定されたビット数だけ 右にずらす こと。 論理シフト はずらした後、 右側にできる空白ビットには0を挿入 する。 図 右シフト(論理シフト) 論理シフト はビット列が 符号なし のときの右シフト。 算術シフト(右シフト) ビット列を指定されたビット数だけ 右にずらす こと。 算術シフト はずらした後、 右側にできる空白ビットには符号ビット(最上位ビット)と同じ値を挿入 する。 図 右シフト(算術シフト) 算術シフト はビット列が 符号あり のときの右シフト。 左シフトはかけ算 左シフトはかけ算。 図 左シフトはかけ算 次回は 右シフトについて。 テストは多分、しません。

5月8日(金)1コマ目

イメージ
今日、やったこと [確認テスト]符号付き2進数->10進数(負数は2の補数で表す) [練習問題]浮動小数点 今日のホワイトボード [練習問題]浮動小数点 10進数の小数 <=> 2進数への変換。 ただし、2進数は浮動小数点形式(倍精度)で表す。 前回は10進数=>2進数。今回は2進数=>10進数を解説。 図 2進数=>10進数 ①最上位ビット確認  0なら正の数  1なら負の数 ② 指数を10進数へ ビット列は元の指数+127(バイアス値)。 127を引くと元の値の指数になる。 ③仮数 ビット列には元の値の仮数の小数部のみ。 ④1.xx×2 n へ ⑤10進数へ 次回は バイアス値の説明。 ビットシフト。 最後に浮動小数点のテストをします。

5月1日(金)1コマ目

イメージ
今日、やったこと [確認テスト]基数の補数・減基数の補数 [確認テスト]10進数->2進数(負数は絶対値の2の補数で表す) 2進数(負数は絶対値の2の補数で表す)->10進数 浮動小数点形式 今日のホワイトボード 2進数(負数は絶対値の2の補数で表す)->10進数 前回の10進数->2進数と逆の手順。 ①最上位ビットチェック 0なら正の数。そのまま10進数へ。 1なら負の数。②以降へ。 ②2の補数->絶対値 ビット列は元の数(負数)の絶対値の2の補数。 ビット列のケタ数を+1した最小値(10、100、1000など)からビット列を引き算する。 ③絶対値に符号をつける 負数なので、ーをつけると元の10進数。 図 2進数(負数は絶対値の2の補数で表す)->10進数 固定小数点形式 小数点の位置が変わらない。 図 固定小数点形式 浮動小数点形式 指数部を使って小数点の位置を動かす。 一見、めんどくさそうに見えるが、同じビット数なら固定小数点形式より広い範囲の値を表すことができる。 図 浮動小数点形式 10進数->2進数(浮動小数点形式) 10進数を単精度(32ビット)の浮動小数点形式の2進数へ変換。 ①まずは2進数へ 以前やった10進数->2進数の手順で。 ②正規化 ①の2進数を 1.〇〇x2 n に変換。これを正規化と呼ぶ。 ③単精度のフォーマットへ 位置 データ 説明 1ビット目 符号 0 : 正の数 1 : 負の数 2~9ビット目 指数 指数+バイアス値(127) ...

4月27日(月)1コマ目

イメージ
今日、やったこと [練習問題]基数の補数・減基数の補数 2進数の2の補数を求める [練習問題]負数を2進数へ変換 今日のホワイトボード 2進数の2の補数を求める 正攻法と引き算が苦手な人向けの2種類ある。 〇正攻法(ダイレクトに2の補数を求める) 2進数において、2の補数は足すとケタ上がりする最小の数。 1ケタなら足すと10になる数。 2ケタなら足すと100になる数。 よって、10や100、1000から引き算をすればOK。 図 2進数の2の補数を求める①(正攻法) 〇1の補数->2の補数へ まず、1の補数を求めてから+1して2の補数へ。 ①1の補数をもとめる 2進数において、 1の補数は各ビットを反転 (0->1、1->0)しただけ。 ②2の補数へ 1の補数に+1 すると2の補数になる。 図 2進数の2の補数を求める②(1の補数->2の補数へ) [練習問題]基数の補数・減基数の補数 8進数の基数の補数(8の補数)、減基数の補数(7の補数)を求める問題の正解例。 ⑧6(8進数) 図 8進数の6の8の補数、7の補数 ⑨26(8進数) 図 8進数26の8の補数、7の補数 10進数の負数を2進数へ コンピュータでは負数を2の補数で表すことが多い。 以下の手順で、負数の10進数を2進数(2の補数)に変換。 ①10進数の絶対値を求める  符号をとるだけ。 ②絶対値を2進数へ ③②の2進数の2の補数を求める 図 10進数の負数を2進数へ [おまけ]なぜ負数を2の補数で表す ひき算を足し算で置き換えることができるから。 ポイントはケタ数が決まっており、あふれた値は無視される点。 図 なぜ、負数を2の補数で表す 次回は 以下のテストをします。 基数の補数・減基数の補数 負数の10進数を2進数へ 符号付き2進数を10進数へ  

4月24日(金)1コマ目

イメージ
今日、やったこと [確認テスト]10進数の小数->N進数 N進数のひき算 基数の補数、減基数の補数 今日のホワイトボード 2進数の引き算② 前回 のつづき。 上のケタから借りてきて、さらに下のケタに貸す場合。 図 2進数のひき算② 5進数のひき算① 5 進数の場合、   上のケタから 5 を借りてくる  下のケタに貸すと1減る となる。 図 5進数のひき算① 5進数のひき算② 上のケタから借りてきて、さらに下のケタに貸す場合。 図 5進数のひき算② 16進数のひき算 16 進数の場合、   上のケタから 16 を借りてくる  下のケタに貸すと1減る となる。 また、基数が10より大きくなると、A、B、C、・・がでてくるので注意。 さらに、 各けたのひき算をした結果が10以上の場合、A、B、C、・・に変換する ことをお忘れなく。 図 16進数のひき算 基数の補数 足すとケタ上がりする最小の数。 10進数 の場合、基数の補数は 10の補数 と言ったりする。 2進数 の場合は、基数の補数を 2の補数 と言ったりする。 10進数での基数の補数(10の補数) 1ケタなら、足すと10になる数。 2ケタなら、足すと100になる数。 3ケタなら、足すと1000になる数。 図 10進数での基数の補数(10の補数) 6進数での基数の補数(6の補数) 基本的には10進数と同じ。  1ケタなら、足すと10になる数。  2ケタなら、足すと100になる数。  3ケタなら、足すと1000になる数。 ただし、6進数なので、6でケタ上がりする点に注意。 上のケタから6を借りてくる。 図 6進数での基数の補数(6の補数) 減基数の補数 足すとケタ上がりしない最大の数。 10進数 の場合、減基数の補数は 9の補数 と言ったりする。 2進数 の場合は、減基数の補数を 1の補数 と言ったりする。 10進数での減基数の補数(9の補数) 1ケタなら、足すと9になる数。 2ケタなら、足すと99になる数。 3ケタなら、足すと999になる数。 図 10進数での減基数の補数(9の補数) 7進数での減基数の補数(6の補数) 1ケタなら、足すと6になる数。 2ケタなら、足すと66になる数。 3ケタなら、足すと666になる数。 図 7進数での減基数の補数(6の補数) 次回は 基数の補数、減基数の補数の練習問題のつづき。...

4月22日(水)1コマ目

イメージ
今日、やったこと [練習問題 解説]10進数の小数->N進数  N進数の足し算、引き算 今日のホワイトボード [練習問題 解説]10進数の小数->N進数  前回は①だけ解説。 ③10進数31/512を2進数へ変換 2進数へ変換したいので、2をかけた答えの  整数部 2進数の各ケタの数  小数部 さらに下位のケタになる数 となる。 図 10進数31/512を2進数へ ③10進数31/512を8進数へ変換 8進数へ変換したいので、8をかけた答えの  整数部 8進数の各ケタの数  小数部 さらに下位のケタになる数 となる。 図 10進数31/512を8進数へ ③10進数31/512を16進数へ変換 16進数へ変換したいので、16をかけた答えの  整数部 16進数の各ケタの数  小数部 さらに下位のケタになる数 となる。 ただし、答えの整数部が10以上になることがある。10以上の場合はA、B、・・に変換。 図 10進数31/512を16進数へ 10進数の足し算 いまさらですが、10進数の場合、足した結果のうち、   10は上のケタへケタ上がり (上のケタが+1)  10未満はこのケタの数 になる。 図 10進数の足し算 2進数の足し算 10進数とおなじ。ただし基数が 2 になっている。->2でケタ上がり 足した結果のうち、   2は上のケタへケタ上がり (上のケタが+1)  2未満はこのケタの数 になる。 図 2進数の足し算 5進数の足し算 基数は 5 なので、5でケタ上がり 足した結果のうち、   5は上のケタへケタ上がり (上のケタが+1)  5未満はこのケタの数 になる。 図 5進数の足し算 12進数の足し算 基数は 12 なので、 12 でケタ上がり 足した結果のうち、   12は上のケタへケタ上がり (上のケタが+1)  12未満はこのケタの数 になる。 ただし、 10はA、11はBになる ことに注意。 図 12進数の足し算 10進数の引き算 引き算には、上のケタから借りてくるがある。 10 進数の場合、   上のケタから 10 を借りてくる  下のケタに貸すと1減る となる。 10進数の引き算 2進数の引き算 2 進数の場合、   上のケタから 2 を借りてくる  下のケタに貸すと1減る となる。 図 2進数の引き算 次回は ...