- ベストアンサー
負数を2の補数で表現する符号付き16ビットの2進数の問題について
jjon-comの回答
- jjon-com
- ベストアンサー率61% (1599/2592)
質問文の中で紹介されていた > http://okwave.jp/qa/q4302488.html のANo2回答 の回答者本人です。 細かい個々のご質問に対してはいまから回答していきますが, 結論から言うと私の解説が正しいです。自信があります。 >16進数が正の数でも、2進数だと負数になると言う事でしょうか? これは質問がおかしい。コンピュータにとって自明的に存在するのは単に「ビット列」であって,正数なのか負数なのかは解釈の違いでしかないので。 例えば次のような16ビット長のデータがあるとします。 1111 1111 1111 1111 これは,符号なし整数と解釈すれば65535ですし,符号あり整数(2の補数)と解釈すれば-1です。画素と解釈すればある色が最大の輝度で光っている状態でしょうし,命令と解釈すればある動作をする命令コードを表しているでしょう。 ですから「1111 1111 1111 1111」というビット列だけ与えられて, 「これは符号なし整数か? それとも符号あり整数(2の補数)か?」という問いに答えるのは不可能です。 >回答を見る感じでは16進数を2進数に変換しただけで、 >『2の補数で表現』の部分がないように思えます。 まったくそのとおりで,16進というのは「2進を4ビットずつまとめて0~Fの1文字に変換しただけ」のものです。16進数だけを見て,それが符号なしか符号ありかを判断することは不可能です。 問題文に「負数を2の補数で表現する」と解釈のための前提が与えられてはじめて, 16進数の最左桁が0~7(0000~0111)なら正数であるし,8~F(1000~1111)なら負数であると判断できます。よって, > 符号付きでない場合は、上記はすべて正の数と言う事で合ってますか? 合っています。
関連するQ&A
- 2の補数の問題
お世話になります。 初歩的な質問で申し訳ございませんが、質問させてください。 ------------------------------------------------------------- 問:負数を2の補数で表現する符号付き16ビットの2進数を16進法で表示したもののうち、4倍するとあふれが生じるものはどれか。 ア 1FFF イ DFFF ウ E000 エ FFFF ------------------------------------------------------------- 答えはイなのですが、イマイチです。 とある解説だと、4倍すると符号が変わるものがあふれとのことでした。 DFFF →(2の補数)0010 0000 0000 0001 →(4倍する)1000 0000 0000 0100 確かに符号が変わることは分かるのですが、ウでも E000 →(2の補数)0010 0000 0000 0000 →(4倍する)1000 0000 0000 0000 こちらも符号が変わることにはならないのでしょうか? どうぞよろしくお願いいたします。
- ベストアンサー
- 情報処理技術者
- 桁あふれがわかりません
負数を2の補数で表現する符号付き16ビットの2進数を16進法で表示したもののうち,4倍するとあふれが生じるものはどれか。 ア 1FFF イ DFFF ウ E000 エ FFFF (平成19年春 問3) この問題の解説は以下の通りです。 DFFFの2進数表示は、1101 1111 1111 1111 で、4倍すると0111 1111 1111 1100 となり、負数が正数になるのであふれが生じる。 このように書いてありました。 1つ目の質問は、4倍すると1111 1111 1111 1100 となり、正数にはならないのではないか、ということです。 2つ目の質問は、直接この問題には関係ないかもしれないのです。 「元の数が負数のとき、左シフトで0が消えたとき、桁あふれという」と習ったのですが、なぜ0が消えると桁あふれとなるのでしょうか。 以上です。宜しくお願い致します。
- ベストアンサー
- 情報処理技術者
- 基本情報の問題にて
負数を2の補数で表現する符号付き16ビットの2進数を16進数で表示したもののうち、4倍するとあふれが生じるものはどれか。 ア 1FFF イ DFFF ウ E000 エ FFFF という問題なのですが、 正解はイです。 理由としては、4倍すると0111 1111 1111 1100になり負数が正数になるので、あふれが生じる。という理由だそうです。 ここで、わからないのですがなぜ負数が正数になるとあふれが生じていることになるのでしょうか。 そもそも、あふれとは最上位の位ここでいう2進数の1が左にはみ出ればすべてあふれというのだと認識していました。なので、ここでいえばイ、ウ、エすべてあふれになると思ってしまいます。 上記のようにかなりごちゃごちゃになっているのですが、よろしくお願いします。
- ベストアンサー
- その他([技術者向] コンピューター)
- 8ビットを2進数で表現すると…
質問です。 符号付の整数を8ビットの2進数で表現するとき、00110111-11000001の演算結果はどのようになるのでしょうか? 符号ビットは左端にあり、負数は2の補数で表します。
- 締切済み
- その他([技術者向] コンピューター)
- この問題がわかりません
基本情報試験の過去問をやっているのですが、よく理解できなかったので、解説をお願いします。 ●負数を2の補数で表す 16 ビットの符号付き固定小数点数の最小値を表すビット列を, 16 進数として表したものはどれか。 ア 7FFF イ 8000 ウ 8001 エ FFFF これの答えはイだそうで、説明では「ア~エの16進数をそれぞれ、2進数、10進数、10進数の絶対値に変換して評価する。」とあり表が載っています。 ア・0111111111111111・・・+32767・・・絶対値が32767 イ・1000000000000000・・・ー32768・・・絶対値が32768 ウ・1000000000000001・・・ー32767・・・絶対値が32767 エ・1111111111111111・・・-1・・・・・・・絶対値が1 これでは、イとウ、エがーの符合になっていますが、なぜそうなるのか、基数変換した時の値はどうやって出しているんでしょうか? 回答よろしくお願いします。
- ベストアンサー
- 数学・算数
- 基本情報技術者過去問
1)負数を2の補数で表す8ビットの数値がある。この値を10進数で表現すると-100である。この値を符号なしの数値として解釈すると、10進数で幾らか? ア)28 イ)100 ウ)156 エ)228 2) 多くのコンピュータが、演算回路を簡単にするために補数を用いている理由はどれですか。 ア)加算を減算で処理できる イ)減算を加算で処理できる ウ)乗算を加算の組み合わせで処理できる エ)除算を減算の組み合わせで処理できる
- ベストアンサー
- その他([技術者向] コンピューター)
- 符号付の整数8ビット…
教えてください。 符号付整数8ビットの2の補数で表現するときの11101111-11110011の計算を2進数で示すときの途中の計算方法を教えてください。 10進数のー13を8ビットの固定小数点(負数は2mの補数形式)の途中の計算方法も教えてください。
- 締切済み
- その他([技術者向] コンピューター)
- 基本情報技術者試験の問題(進数変換)
基本情報技術者試験の過去問を解いてるのですが、どうしても分からないんです。 以下原文 負数を2の補数で表現する符号付き16ビットの2進数を16進数で表記したもののうち、四倍するとけた あふれが生じるものはどれか。 不明な点は選択肢にあるDFFFという16進数表記が10進数にすると「-8193」になると解説に書いてある点です。DFFFを2進数にする方法は分かるのですが…。 よろしくお願いいたします。
- ベストアンサー
- 情報処理技術者
お礼
お礼が遅くなりすいませんでした。 回答ありがとうございました。