テクノロジ
算術シフトとは
読み方:さんじゅつシフト
ひとことで言うと:符号付き整数の符号を保つようにビット列を移動するシフト操作。
意味をわかりやすく解説
算術シフトは、符号付き整数の値の意味を保ちながらビット列を移動する操作です。特に右シフトでは、通常は最上位の符号ビットを複製して空いた位置を埋めます。
2の補数表現では、算術右シフトは負数の符号を維持したまま、おおむね2で割る操作に相当します。左シフトでは桁あふれに注意が必要です。
具体例
8ビット2の補数表現 11110100₂ を右へ1ビット算術シフトすると、符号ビット1を補って 11111010₂ になります。
似た用語との違い
論理シフト
論理右シフトは空きを0で埋めます。算術右シフトは符号を保つため最上位ビットを複製します。
2の補数
算術右シフトで符号を保てるのは、2の補数で最上位ビットが符号を表すことと関係します。
覚え方
算術=符号を守る。右シフトなら左端を符号ビットで埋めます。
基本情報技術者試験の試験ポイント
負数を右シフトする問題で論理シフトと算術シフトの結果が変わります。どちらを使うかを問題文から判断します。
CHECK QUESTION
8ビット値 11110000₂ を右へ2ビット算術シフトした結果は何ですか。
答えを見る
11111100₂です。最上位ビットが1なので、左側を1で埋めながら右へ2ビット移動します。
この説明は分かりやすかったですか?
基本情報技術者試験を勉強中ですか?
この用語を含む重要用語を、単語帳や4択テストで学習できます。