6月22日(水)1コマ目
今日、やったこと
- [確認テスト]浮動小数点形式
- ビットシフト
今日のホワイトボード
論理シフトと算術シフト
右シフトには論理シフトと算術シフトがあります。
どちらを使うかはシフト対象ビット列が符号あり、符号なしで決まります。
- 符号なしビット列なら論理シフト(無条件に0を入れる)
- 符号ありビット列なら算術シフト(符号ビットと同じ値を入れる)
図 論理シフトと算術シフトの使い分け |
演習問題
問2
符号ありビット列なので、右シフトは算術シフト。
図 問2 |
問3
16進数1ケタは2進数4ビット。
- 16進数=>2進数なら、16進数1ケタを4ビットの2進数に変換。
- 2進数=>16進数なら、2進数4ビットを1ケタの16進数に変換。
図 問3 |
左シフトは
結論から言えば、掛け算。
10進数で考えてみると以下のとおり。
図 左シフトは |
一般化すると、
左シフトは ×基数シフトしたビット数
右シフトは
結論から言えば、割り算。
10進数で考えると以下のとおり。
図 右シフト |
一般化すると、
右シフトは ÷基数シフトしたビット数
コンピュータの四則演算
下表のように計算をしている。
演算 | 実現方法 |
---|---|
+ | 加算器回路で計算 |
- | 負数を2の補数表現にして、加算器で加算 |
× | 左シフト |
÷ | 右シフト |
次回は
テストはしません。
ビットシフトの続きをやります。