重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

算術シフトについて
左方向の時は論理シフトと同じ空きに0を加えるという、説明だけでした、これだと正負を考慮してると言えるのですか?
上から二桁目が0だった場合はどうするのですか?それを出さない為に工夫するのならばどのような工夫をするのですか?

質問者からの補足コメント

  • ありがとうございます!

      補足日時:2024/07/30 03:23

A 回答 (1件)

>左方向の時は論理シフトと同じ空きに0を加えるという、説明だけでした



その説明が間違っています。算術左シフトでは最上位ビットは固定で変化しません。
https://basics.k-labo.work/2017/08/30/%E7%AE%97% …


>上から二桁目が0だった場合はどうするのですか?それを出さない為に工夫するのならばどのような工夫をするのですか?

オーバーフローしますので、例えば8bit値なら-65以下(10111111)かどうかを事前にチェックして分岐させるような処理が必要かと。
    • good
    • 1
この回答へのお礼

ありがとうございます。

お礼日時:2024/07/30 03:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!