![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.2ベストアンサー
- 回答日時:
それぞれフローチャートを書いてみれば一目瞭然ですが、
ビットシフトの場合、乗数が2のn乗であることが前提となり、例えば64倍(2の8乗)するのであれば、被乗数を8回左シフト(ローテートの場合キャリービットはクリアする)すれば答えが出ます。CPUにもよりますが、シフト量に関わらず1ステートで答えが出るものもあります。即ち、実行速度が速い、もしくは64倍だろうが128倍だろうが速度の差が出ない(もしくは差が少ない)、という点が長所です。
加算を使う場合は、被乗数を乗数分ループして加算を繰り返すことになりますので、乗数が大きくなると、その分処理に時間がかかります。乗数が大きくなる従い処理速度が増えます。
逆に、ビットシフトは2のn乗が前提なので、2のn乗で端数が出た場合は、その分条件式を入れて、分解してビットシフトによる乗算を組み合わせたり、場合によっては加算のループ組み合わせたり、処理が複雑になります。
例えば、67倍する場合は、64倍のビットシフト演算と3回の加算に分解するとか、
192倍する時などは、128倍のビットシフトと64倍のビットシフトを組み合わせるとか、いずれにしても条件が複雑になります。
これに比べて加算の方は被乗数、乗数(0以外であれば)の条件に関わらず、ループの形だけで表現出来るので、とてもシンプルに記述出来ます。
長所、短所についてはこんなところかと思います。ご参考に。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
youtubeに動画をアップロードす...
-
今のゲーム機、Bit数で言うと何...
-
コインチェック 総資産の見方に...
-
IPアドレスの計算
-
visaデビット 引き落とし日
-
bitcashの換金
-
何故ギフトカードを定価より高...
-
デリヘルについて
-
再来月に彼女と旅行する予定だ...
-
1954年の100万円は、今だといく...
-
現金支払い派ってやっぱ頭が悪...
-
公園の水道から水をポリタンク...
-
500円玉両替
-
この問題の解き方を教えて下さ...
-
エラーコインではないと思うの...
-
公園の水道で洗車はマナー違反?
-
古代ギリシャ・コインにある刻...
-
いま世界中の人がタイムコイン...
-
コイン式乾燥機に、コインが入...
-
この方法は、できるのでしょうか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
youtubeに動画をアップロードす...
-
冗長ビット…。
-
ハミング符号の誤り検出ビット...
-
ITパスポート試験問題
-
今のゲーム機、Bit数で言うと何...
-
パリティチェックの垂直パリテ...
-
1画素のビット数の求め方
-
"計算機の語長"とは?
-
JTB旅行券の換金
-
インパクトドライバーをレンチ...
-
証券会社での出金が余力0と出...
-
IPアドレスの計算
-
コインチェック 総資産の見方に...
-
トリマーの軸径について 本体6...
-
JTBトラベルギフト券の買取
-
この問題教えてください(基本...
-
空缶を換金する事できますか?
-
懸賞でナイストリップ(商品券)...
-
10進数からビットフラグの判定 ...
-
ATmega88のレジスタのビット操作
おすすめ情報