リスキリング|情報技術者への歩み、デジタルを使う側から作る側へ

情報技術者のスキルを身に付け、デジタルを提供する側になれば未来で勝ち組になれると思うので頑張る!

「算術シフト(シフト演算)」についてわかりやすく解説|基礎理論(基本情報技術者)

amprime.hatenablog.com

amprime.hatenablog.com

|シフト演算について

 シフト演算は、ビット列のビットを指定された方向に一定のビット数だけ移動させる演算です。

 シフト演算には、論理シフトと算術シフトの2種類があります。

amprime.hatenablog.com

 

|論理シフトと算術シフトの違いについて

 論理シフトは、ビットを移動させるときにビットは0で埋められます。

 例えば、ビット列「1010101」を右に1ビットシフトすると、「0101010」になります。

 

 一方、算術シフトは、ビットを移動させるときに符号ビットを保持します。

 例えば、ビット列「1010101」を右に1ビットシフトすると、「0101010」になります。

 ただし、符号ビットが1の場合、一番右のビットは1で埋められます。

 例えば、ビット列「1110101」を右に1ビットシフトすると、「1110101」になります。

amprime.hatenablog.com

 

|シフト演算の活用例

 シフト演算は、掛け算や割り算の代替として使用することができます。

 例えば、ビット列「1010101」を左に2ビットシフトすると、「10101010」になります。これは、ビット列「1010101」を2倍した結果と同じです。

 また、ビット列「1010101」を右に1ビットシフトすると、「0101010」になります。これは、ビット列「1010101」を2で割った結果と同じです。

 

 シフト演算は、データの移動や変換にも使用されます。

 例えば、ビット列「1010101」を右に1ビットシフトすると、「0101010」になります。これは、ビット列「1010101」の下位1ビットが削除され、上位1ビットが0で埋められた結果です。

amprime.hatenablog.com

 

|まとめ

 シフト演算は、コンピュータの処理において重要な役割を果たしています。

 シフト演算の概念を理解することで、より効率的なプログラムを作成することができます。

amprime.hatenablog.com

amprime.hatenablog.com

amprime.hatenablog.com

amprime.hatenablog.com

amprime.hatenablog.com

amprime.hatenablog.com

amprime.hatenablog.com

amprime.hatenablog.com

amprime.hatenablog.com