1-6 演算の関連知識

シフト演算 → 指定したビット分だけを右、左にずらす演算(乗除算にめっちゃ使われる)

論理シフト → ビット全体をずらす。(符号を考慮しない)

算術シフト → 最上位のビットを符号とみなして、それ以降のビットをずらす。(符号を考慮する)

剰余演算 → 除算のあまりをとる演算

左シフト

右シフト

算術シフト
※符号〇

左シフト

右シフト

少し複雑なため、とりあえず溢れなければ問題なく計算されていくんだな

と考える良い

練習問題 シフトであふれることはないこととする。

(1) 1001000を算術右シフトで3ビットずらしなさい。

(3) 13を4倍にして2進数で表しなさい。

(4) 56の1/8を2進数で表しなさい。

答え:1111001000、、110100、111、、

少し難しそうに見えるが、割った後の余りのことである。

aをbで割ったあまりの表現方法は、a%bもしくはmod(a,b)と表すことができる。

また、シフト演算のときに、あふれ出た桁は余りとして考えることができる。