5月1日(水)1コマ目
今日、やったこと
- [確認テスト]負数の2進数<=>10進数変換
- 浮動小数点形式
- ビットシフト
今日のホワイトボード
浮動小数点形式
前回は10進数の小数を浮動小数点形式の2進数へ変換しました。
今日は逆パターン(浮動小数点形式の2進数を10進数へ)をしました。
ポイントは
- 指数部のバイアス値
- 可数部は正規化した可数部の小数点以下
です。
|
| 図 練習問題 問6 |
|
| 図 練習問題 問7 |
ビットシフト
ビットシフトはビット列を左右にずらすこと。
ずらすことで生まれる空きビットになにを入れるかがポイント。
左シフト
指定ビット数だけ左にずらす。
右側にできた空きビットには0をいれる。
|
| 図 左シフト |
右シフト
指定ビット数だけ右にずらす。
左側にできた空きビットに何をいれるかで論理シフト、算術シフトに分かれる。
右シフト(論理シフト)
左側にできた空きビットに0をいれる。
|
| 図 右シフト(論理シフト) |
右シフト(算術シフト)
左側にできた空きビットには符号ビットと同じ値をいれる。
|
| 図 右シフト(算術シフト) |
左シフトはかけ算
m桁右にシフト = ÷Nm
Nは基数
|
|
| 図 右シフトはわり算 |
例1 符号なしの011010(10進数では26)を右に2ビットシフト
符号なしなので、論理シフト。シフト後は 000110。
10進数にすると6。
右に2ビットシフト=÷22
よって、26÷4をしたことになる。答えは6(小数点以下はなし)
例2 符号なしの101010(10進数では42)を右に2ビットシフト
符号なしなので、論理シフト。シフト後は 001010。
10進数にすると10。
右に2ビットシフト=÷22
よって、42÷4をしたことになる。答えは10(小数点以下はなし)
例3 符号ありの011010(10進数では26)を右に2ビットシフト
符号ありなので、算術シフト。シフト後は 000110。
10進数にすると6。
右に2ビットシフト=÷22
よって、26÷4をしたことになる。答えは6(小数点以下はなし)
例4 符号ありの101010(10進数では-22)を右に2ビットシフト
符号ありなので、算術シフト。シフト後は 111010。
10進数にすると6。
右に2ビットシフト=÷22
よって、-22÷4をしたことになる。答えは6(小数点以下はなし)
※小数点以下切り捨て
小さいほうの整数になる。
2.4 -> 2
-2.4 -> -3
次回は
浮動小数点形式のテストをします。





