投稿

ラベル(ビットシフト)が付いた投稿を表示しています

5月17日(水)1コマ目

イメージ
今日、やったこと ビットシフト 今日のホワイトボード 単純な左シフト、右シフトの練習問題をやってもらいました。 問1 ”符号なし”なので、右シフトは論理シフト(無条件に0を代入)です。 図 問1 問2  ”符号あり”なので、右シフトは算術シフト(符号ビットと同じ値を代入)です。 図 問2 問3 問題は一見訳がわからんようなかんじですが、要は ①16進数のABCDを16ビットの2進数へ ②右シフト ③16進数へ です。 図 問3 左シフトは掛け算 10進数で考えるとわかりやすいです。 図 10進数で左シフト 2進数でも理屈は同じです。 図 2進数で左シフト 右シフトは割り算 10進数で考えるとわかりやすいです。 厳密にいうと、右シフトすると割り算の整数部になります。 図 10進数で右シフト 2進数でも同じです。 図 符号なし2進数で右シフト(論理シフト) 図 符号あり2進数で右シフト(算術シフト) x2 n 以外の掛け算 x3やx5のような2 n ...

5月10日(水)3コマ目

イメージ
今日、やったこと [解説]負数を含む基数変換(2進数<=>10進数) [確認テスト]浮動小数点形式の基数変換 ビットシフト 今日のホワイトボード [解説]負数を含む基数変換 連休前にやった確認テストの解説をしました。 2の補数から1の補数への計算(2進数の引き算)を間違っている方がちょこちょこおられました。 問1 10進数を2進数へ(負数は絶対値の2進数で表す) ① 10進数-3を4ビットの2進数へ(負数は絶対値の2の補数で表す) 図 問1の① ② 10進数-1を4ビットの2進数へ(負数は絶対値の2の補数で表す) 図 問1の② ③10進数-14を8ビットの2進数へ(負数は絶対値の2の補数で表す) 図 問1の③ 問2 2進数(負数は絶対値の2の補数になっている)を10進数へ ①2進数1111 0100(負数は絶対値の2の補数になっている)を10進数へ 1の補数にする際の引き算に注意!! 2進数の引き算(繰り下がりあり)  ① ② ③  1 0 0  ー   1 ③のケタの引き算はできないので、上のケタ(②)から借りてきます。 が、②のケタも0なので、さらに上のケタ(①)から借りてきます。 ①のケタから2を1つ下のケタ(②)に貸します。その結果、①のケタの数は1(①のケタの数)- 1 (②に2を 1 個貸す)=0になります。 ②のケタには①のケタから2を借りてきました。が、さらに下のケタ(③)に2を1つ貸すため、②のケタの数は2(①から借りてきた)- 1 (③に2を 1 個貸す)=1になります。 ③のケタには②のケタから2を借りてきました。③のケタの計算結果は2(②から借りてきた)-1(③のケタの引く数)=1が③のケタの計算結果になります。 ②のケタの計算結果は1(③に貸したあとの②のケタの数)-0(②...