01-06 論理シフトについて

  • このトピックは空です。
3件の返信スレッドを表示中
  • 投稿者
    投稿
    • #952 返信
      nobody
      ゲスト

      論理シフトのビット列を右にずらす・左にずらすことは理解しています。

      しかし、ビット列の定員?がどうやって決まるのか分からないです。解説ではビット列は8個の枠で書かれていますがなぜ8個が基準なのでしょうか。登場する過去問題はビット列が10個でシフト演算が行われています。

      また、同じ過去問題で、2進数111がビット列に入れたると0111になり、先頭に0がつく理由が分かりません。

      どなたか教えてください!

    • #953 返信
      nobody
      ゲスト

      「8ビット=1バイト」ということもあり、8ビットがよく用いられると、どこかに書かれてませんでしたっけ?
      シフト演算の桁数は、電卓の桁数と同じようなイメージで、
      演算結果となる値が、そのビット数(枠)で表示しきれない場合は、エラー(オーバーフロー・アンダーフロー)となるだけです。
      例えるなら、2桁表示の電卓を渡されて、(10進数)10×10を計算しなさいと問われたってできないというイメージ。
      何桁表示の電卓を使うのかは自由です。
      試験では、こちらが考えることではなく、問題で提示されることです。
      ちなみに、強いて桁数を答えるような問題だとするならば、
      それは、計算結果を表示できる桁数です。
      (10進数)10×10で必要最低限の電卓の桁数は、3桁です。

    • #954 返信
      nobody
      ゲスト

      先頭に0が付く理由は、右詰めで値を入れていき余ったボックスは0で埋めるってだけです。
      4ビット(4ボックス)に「101」を入れると…
      □101

      これどうする?何も入れなかったら?
      「101」表示ですよね?見る人は「あれ?3ビットかな?」と勘違いする
      だから、0で埋めてやれば「0101」となり、見る人も「4ビットだね」と認識できる!

    • #956 返信
      nobody
      ゲスト

      8ビットが多いと書いてありました!だから使われる、ということなんですね。桁数のイメージが湧きました。

      数字を右詰めで入れないと何ビットか分からなくなる、という感覚がなかったです。すっきりしました。

      ありがとうございます!とても助かりました。

3件の返信スレッドを表示中
返信先: 01-06 論理シフトについてで#954に返信


<a href="" title="" rel="" target=""> <blockquote cite=""> <code> <pre class=""> <em> <strong> <del datetime="" cite=""> <ins datetime="" cite=""> <ul> <ol start=""> <li> <img src="" border="" alt="" height="" width="">