何回目だい? 藤村君さぁ
Pythonでのシフト演算です、今回は計算しやすいように「2で割り切れる値」にしてみました。
使う値は「50」です。
そして、ソースコードです
# coding:EUC-JP
print 50
print 50 << 1
print 50 >> 1
何回、右シフトと左シフトの話をしないといけないのだろか…。
とりあえず、結果から
50
100
25
そして、定番と化した進数表の出番です。
見方は
左1→左に1ビットずらした結果
右1→右に1ビットずらした結果
* | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
進 | 0 | 1 | 1 | 0 | 0 | 1 | 0 |
左1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 |
右1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 |
過去に何回も言ってるので割愛しますが
- 左に1ビットずらすと2倍される
- 右に1ビットずらすと半分にされる