シフト演算とは
10進数では、1を左に一桁ずらすと10、さらにずらすと100になります。これは×10の計算を行っています。このように、値を左右にずらすことで、×10や÷10を行うことができます。
これは2進数においても同様で、2進数での1を左に一桁ずらすと10となり、10進数での4となります。つまり×2をした値です。このような操作をシフト演算と呼びます。
論理シフト
論理シフトは符号を考慮せず、左・右へと移動していくシフト演算です。左シフトする場合には、1桁ずらすごとに×2をした値となり、右シフトする場合にはずらすごとに÷2をした値となります。あふれたビットは捨てられ、空いたビットには0が入ります。
算術シフト
算術シフトでは符号を考慮します。符号ビットはそのままにし、左シフト、右シフトを行います。ただし、あふれたビットは捨てられ、空いたビットには符号と同じビットが入ります。
オートマンとは
オートマンとは、入力の状態によて、出力が決定される機械をモデル化したものです。オートマンの状態の遷移を図にしたものを状態遷移図、表にしたものを状態遷移表と呼びます。