• ベストアンサー

基本情報技術者の試験について

論理シフトについてです 11101100を左に2ビットシフトすると桁あふれですよね?! 解説していただければありがたいです!

質問者が選んだベストアンサー

  • ベストアンサー
  • SPROCKETER
  • ベストアンサー率26% (2024/7559)
回答No.1

 ずいぶん昔から情報技術者試験で出題されている問題ですね。  8ビット単位であれば、次のようになります。 (1) C=0:11101100 (2) C=1:11011000 左へ1ビットシフト (3) C=1:10110000 左へ1ビットシフト  Cはキャリービットで、MSB(最上位ビット)からの桁溢れの値が入ります。よって、左へ1ビットシフトした段階で桁溢れが起こっています。  ローテイト命令でシフトした場合は、以下のようになります。 (1) C=0:11101100 (2) C=1:11011000 (3) C=1:10110001  Cはキャリービットで、MSB(最上位ビット)からの桁溢れが起こった値が入りますが、ローテイト命令ではシフト後に、キャリーの値がLSB(最下位ビット)に入りますので、こうなります。

参考URL:
http://ja.wikipedia.org/wiki/%E3%83%93%E3%83%83%E3%83%88%E6%BC%94%E7%AE%97
bytebit8
質問者

お礼

ありがとうございます!! とても分かりやすかったです^^

関連するQ&A

  • ビットについて基本情報技術者試験でわからない問題があります

    ある16ビットのデータを左に1ビットけた移動すると、あふれが生じ、得られた値は16進数で579Aとなった。元の値を16進数で表したものはどれか。 ア 2BCD イ 2F34 ウ ABCD エ AF34 答え ウ 解説には 579A を2進数に直し、右に1ビットけた移動、あふれが生じた分の先頭ビットを1とすると・・ とありますが、なぜ、勝手に先頭ビットを1としていいのかわかりません。

  • 基本情報処理技術者試験 

    下記の問題の説明がどうしても理解出来ませんので、ご教授いただけますと幸いです。 https://www.fe-siken.com/kakomon/15_aki/q6.html この問題では8ビットのデータの下位7ビットを取り出したいので、最上位ビット以外を「1」としたビット列「0111 1111」との論理積をとることで下位7ビットを取り出すことができます。  ⇒ どういう並びの数字(XXXX XXXX)が、「0111 1111 」と論理積を取って、下7桁を抽出する事が出来るのでしょうか? 理解出来ていないので、質問内容自体がおかしいかもしれません。 よろしくお願い致します。

  • 基本情報のCASLIIの平成18年春の問13

    基本情報のCASLIIの平成18年春の問13の問題です。 32ビットの2進数(被乗数)と15ビットの符号なし二進数(乗数)の乗算を行うプログラムなのですが、解説を読んでもわからない点があったので質問させていただきます。 32ビットの被乗数の方は上位16ビットと下位16ビットにそれぞれGR1,GR0に分けて格納しています。 ここで、GR1,GR0をGR3ビットだけ論理左シフトします。そうすると、上位16ビットの左端からGR3ビットはみ出します。解説のここまでは理解できたのですが、次からの文章が理解できませんでした。 「シフト前の下位(16-GR3)ビットがシフト後の上位(16-GR3)ビットとして残る。したがって下位語の上位GR3ビットを(16-GR3)ビット,つまりGR4ビット論理右シフトして,上位語の下位GR3ビットに転送する必要がある。」 というものです。 シフト前の下位(16-GR3)ビットというのはどこのことを指しているのか不明ですし、シフト後の上位(16-GR3)ビットも同様です。 また、なぜGR4ビット論理右シフトするとなぜ上位語に反映されるのかもわかりません。右シフトすれば上位語も右シフトされて反映下位から上位へビットが転送されないと思うからです。 ちなみに、GR3+GR4=16という関係を持っています。 それと、解説の画像は添付しておきます。

  • 基本情報技術者試験のビットに関する問題

    最上位をパリティビットとする8ビット符号において、パリティビット以外の下位7ビットを得るためのビット演算はどれか。 ア 16進数0FとのANDをとる イ 16進数0FとのORをとる ウ 16進数7FとのANDをとる エ 16進数FFとのXOR(排他的論理和)をとる 解答 ウ なぜ ウ の7FとのANDなのかさっぱり分かりません。 解説お願いします。

  • 基本情報技術者試験のビットに関する問題 

    最上位をパリティビットとする8ビット符号において、パリティビット以外の下位7ビットを得るためのビット演算はどれか。 ア 16進数0FとのANDをとる イ 16進数0FとのORをとる ウ 16進数7FとのANDをとる エ 16進数FFとのXOR(排他的論理和)をとる 解答 ウ なぜ ウ の7FとのANDなのかさっぱり分かりません。ウだと2進数にした場合 01111111 ですよね?なぜこうなるのか分からないのです。 解説お願いします。

  • 基本情報技術者 平成23年・秋 問1

    基本情報技術者 平成23年・秋 問1 で質問です。 ネットの解説を読んでもわかりません。 AND演算を利用してnから最下位1ビットぶんの桁だけを取り出すには、以下のAND式になりますとありますが、     XXXX AND 000F -----------   000X 上記で、一番右の桁で、XとFのAND条件の結果が、なぜXになるのかがわかりません。 (その他の桁の、Xと0のAND条件が0になるのは理解できます) また、「XXXX → 0XXXにする必要があります。すなわち右に4ビットシフトします」とありますが、右に1ビットシフトの間違えでは?なぜ4ビット?? 根本が理解できていないので、初歩的な質問で申し訳ありません。 参照したURLを以下に書きます。 http://web-mondai.com/common-question-data/detail/bid/20/qn/1

  • 基本情報技術者試験 論理演算に関する問題

     最上位をパリティビットとする8ビット符号において,パリティビット以外の下位7ビットを得るためのビット演算はどれか。 ア 16進数0FとのANDをとる。 イ 16進数0FとのORをとる。 ウ 16進数7FとのANDをとる。 エ 16進数FFとのXOR(排他的論理和)をとる。 (基本情報技術者試験 平成18年度春季午前 問6) この問題の解説お願いします。パリティビットって何ですか。いまいちよく分かりません。

  • 情報処理の問題で理解ができません。

    情報処理の問題で理解ができません。 情報処理資格取得に向け勉強していますが 下記 問の意味が分かりません。 どなたかご解説頂きたくよろしくお願い致します。 問(20年度春の 問1?の問題です) 16ビットの2進数nを16進数の各桁に分けて、下位の桁から順にスタックに 格納するために、次の手順を4回繰り返す。A、Bに入る適切な語句の組み合わせは どれか。ここで XXXX16 は16進数XXXXを表す。 [手順] 1)A をXに代入する。 2)Xをスタックにプッシュする。 3)nを B 論理シフトする。       A              B ア:n AND 000F16     左に4ビット イ:n AND 000F16     右に4ビット ウ:n AND FFF016     左に4ビット エ:n AND FFF016     右に4ビット 答え:イ 分かりにくくすみませんが なぜ イ の回答になるでしょか? 馬鹿にも分かるような 解説頂きたく よろしくお願い致します。。。

  • 論理シフトについて

    コンピュータの論理シフトについて質問があります。 シフトしてオーバーフローした場合は、コンピュータ内部においては演算結果が反映されているのでしょうか? 例えば、8ビット表記で (10100001)_2 =(161)_10 で左に一桁シフトしたとすると (01000010)_2 =(66)_10 という表記になると思うのですが、このようなシフトをすると値が小さくなってしまう という考え方をすればいいのでしょうか? 回答よろしくおねがいします。

  • 基本情報処理技術者試験問題が解けません・・・

    平成11年度春の午前問題の問44. http://www2.osk.3web.ne.jp/~a0mediac/B99s/b99s.htm 上にリンクがあります。 解説がついているのですが、私の頭では、解説さえ理解できないでいます・・・・。 この問題では、垂直パリティの1が1個なのと、水平パリティの1が3個なので、奇数パリティが使われているということですよね。 奇数パリティのときは、偶数個の誤りが生じていると誤りをチェックできる。偶数パリティのときは、奇数個の誤りをチェックできる。 だから、回答でウはありえない。 答えは、ア、イ、またはエのどちらかになるわけですが、答えがイというのが理解できないでいます。 解説には、「水平パリティだけの場合1ビットの誤り検出しかできない。」「水平・垂直パリティを両方組み合わせると1ビットの誤り訂正ができます。」とあるのですが、私の使っている参考書には、偶数個のビットが化けたらチェックできないのが、水平パリティチェックの特徴だとしています。 また、水平垂直パリティチェック方式の特徴が、偶数この列で、同じビット位置の偶数個のビット化けが生じたときにはチェックできない、と参考書にはあります。 私としては、4行4列なのだから、3ビットの誤りチェックもできるのでは?と思ってしまうのです。 なぜ1ビットなのでしょうか? どなたか教えてください。 よろしくお願いいたします。