• ベストアンサー

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

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

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

  • ベストアンサー
  • okormazd
  • ベストアンサー率50% (1224/2411)
回答No.4

左に1bitシフトした結果、579A 0101 0111 1001 1010 元に戻すのは右に1bit シフトする 0010 1011 1100 1101 あふれた先頭ビットを戻す。 1010 1011 1100 1101 ABCD です。 (桁)あふれがあった→意味のある変化があった→もう少し専門的にいうとキャリーを生じた ということは、元の先頭ビット(MSB)が1だったということです。勝手に先頭ビットを1にしているわけではありません。「あふれが生じ」という意味が先頭ビットが1ですよといっているのです。

その他の回答 (3)

  • bug_bug
  • ベストアンサー率78% (36/46)
回答No.3

"桁あふれ(オーバーフロー)"とは扱える数値の最大値を超えることを指します. 仮に回答が(ア)だとした場合, 1bit左シフトを行っても16bitで表記できる値に収まるため, "桁あふれした"とは言いません. 問題文に"あふれが生じ"とありますので, 1bit左シフトしてあふれが発生するためには, 元の値のMSB(先頭ビット)は"1"であることが必須となります.

参考URL:
http://e-words.jp/w/E6A181E38182E381B5E3828C.html
noname#119957
noname#119957
回答No.2

579A これを16ビットで現すと、 0101 0111 1001 1010 右に1桁SHIFTすると 0010 1011 1100 1101 これをHEXで現すと 答え 2BCD  ですね。 溢れは右の4ビットの先頭に移動していますね。 何か変ですか?

fitsfits
質問者

補足

文が足りていませんでした。 答えは ウ の ABCD となっています。解説には、右に1桁シフトすると 0010 1011 1100 1101 となり、あふれが生じた分の先頭ビットを1とすると 1010 1011 1100 1101 となり答えは ABCD となります。 と書いてあります。なぜ、先頭部が0010ではなく、先頭ビットに勝手に1を補い1010としているのかが理解できないのです。

  • kaz-a
  • ベストアンサー率27% (132/480)
回答No.1

>先頭ビットを1としていいのかわかりません。 先頭が0でも桁あふれするのでしょうか?

関連するQ&A

  • データ表現? 計算問題の解決法教えてください。

    以下の問題の解き方を教えてください。 「ある16ビットのデータを左に1ビットだけ桁移動すると、あふれが生じ、 得られた値は16進数で579Aとなった。 元の値を16進数で表した物はどれか。 ア 28CD   イ 2F34   ウ  ABCD   エ  AF34                           」

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

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

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

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

  • 基本情報技術者試験問題

    以下の問題の考え方を教えてください。 初心者で、本を読んでもなかなか理解できず困っています。 よろしくお願いします。 「数値の部分が6桁の符号付き10進数を、パック10進表記法で表すと、 必要なバイト数はいくらか」 ア   3 イ   4 ウ   6 エ   7

  • 基本情報試験の問題で

    基本情報試験の勉強で、この問題がよく意味がわかりません。答えはエだそうですが、どうしてこうなるんでしょうか?解説をお願いいたします。 ●2進の浮動小数点表示で誤差を含まずに表現できる10進数はどれか。 ア 0.2  イ 0.3 ウ 0.4       エ 0.5

  • 基本情報技術者過去問

    1)負数を2の補数で表す8ビットの数値がある。この値を10進数で表現すると-100である。この値を符号なしの数値として解釈すると、10進数で幾らか? ア)28 イ)100 ウ)156 エ)228 2) 多くのコンピュータが、演算回路を簡単にするために補数を用いている理由はどれですか。 ア)加算を減算で処理できる イ)減算を加算で処理できる ウ)乗算を加算の組み合わせで処理できる エ)除算を減算の組み合わせで処理できる

  • この問題がわかりません

    基本情報試験の過去問をやっているのですが、よく理解できなかったので、解説をお願いします。 ●負数を2の補数で表す 16 ビットの符号付き固定小数点数の最小値を表すビット列を, 16 進数として表したものはどれか。 ア 7FFF    イ 8000    ウ 8001    エ FFFF これの答えはイだそうで、説明では「ア~エの16進数をそれぞれ、2進数、10進数、10進数の絶対値に変換して評価する。」とあり表が載っています。 ア・0111111111111111・・・+32767・・・絶対値が32767 イ・1000000000000000・・・ー32768・・・絶対値が32768 ウ・1000000000000001・・・ー32767・・・絶対値が32767 エ・1111111111111111・・・-1・・・・・・・絶対値が1 これでは、イとウ、エがーの符合になっていますが、なぜそうなるのか、基数変換した時の値はどうやって出しているんでしょうか? 回答よろしくお願いします。

  • 基本情報技術者

    負数を2の補数で表現する符号付き16ビットの2進数を16進法で表示したもののうち,4倍するとあふれが生じるものはどれか。 ア 1FFF   イ DFFF   ウ E000   エ FFFF (平成19年春 問3) この問題の解説で E000の2進表示は1110 1111 1111 1111と書いてありました。 どの問題集を見てもそうかいてあります。 1110 0000 0000 0000ではないんですか?? またあふれがでるっていうのはどういうことなんですか? いまいちよくわかりません。

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

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

  • 情報数学の問題ですが。

    問12 数値の部分が6けたの符号付き10進数を、パック10進数表記法で表すと、必要なバイト数はいくらか。 ア 3 イ 4 ウ 6 エ 7 問13 1秒間に一定間隔で16個のパルスを送ることができる通信路を使って、0~9、A~Fの16種類の文字を送るとき、    1秒間に最大何文字を送ることができるか。ここで、1ビットは1個のパルスで表し、圧縮は行わないものとする。 ア 1 イ 2 ウ 4 エ 8 理由もお願い致します。