ちょっとディープな生物の世界

基本情報技術者入門:シフト演算・オートマン

シフト演算とは

10進数では、1を左に一桁ずらすと10、さらにずらすと100になります。これは×10の計算を行っています。このように、値を左右にずらすことで、×10や÷10を行うことができます。

これは2進数においても同様で、2進数での1を左に一桁ずらすと10となり、10進数での4となります。つまり×2をした値です。このような操作をシフト演算と呼びます。

論理シフト

論理シフトは符号を考慮せず、左・右へと移動していくシフト演算です。左シフトする場合には、1桁ずらすごとに×2をした値となり、右シフトする場合にはずらすごとに÷2をした値となります。あふれたビットは捨てられ、空いたビットには0が入ります。

算術シフト

算術シフトでは符号を考慮します。符号ビットはそのままにし、左シフト、右シフトを行います。ただし、あふれたビットは捨てられ、空いたビットには符号と同じビットが入ります。

オートマンとは

オートマンとは、入力の状態によて、出力が決定される機械をモデル化したものです。オートマンの状態の遷移を図にしたものを状態遷移図、表にしたものを状態遷移表と呼びます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です