No.6ベストアンサー
- 回答日時:
No.4回答者です。
「答えを教えることができない」ではなく「題意(=問題の意味)を予想することしかできない」と書いたのですが・・・何にしても、回答No.4への補足で、題意は分かりました。(最初からそのように書いてくれれば分かったのですが。)
考え方ですが、まずその回答No.4への補足にあった5択のうち(オ)が正解であること、および(オ)以外が正解にはなり得ないことの理由はお分かりになっているでしょうか。
8ビット2の補数表現での負数が1xxxxxxxとなることは、どうでしょう。
仮に8ビット2の補数表現で1abcdefg(a/b/c/d/e/f/gはそれぞれ0または1の1ビットを表す)という負数がある場合、これを1ビット右へ算術シフトすると11abcdefとなることは?
「4ビット右へ算術シフト」した結果は「1ビット右へ算術シフト」を4回繰り返した結果と同じになるというのは、どうでしょうか。
ここまでが理解できていれば、もう全部分かったも同然です。途中で引っかかるようであれば、参考書の、それに相当する部分を復習してみてください。
この回答への補足
まず2の補数かつ負数であるから
1xxxxxxx ですよね
これを4bit右へ算術シフトするのだから
1111xxxx なのだから…
選択肢から当てはまるものといえば…
あっわかりました!
最初に 1111 がついているのは
オの11111111しかありませんね。
なるほどこの問題が言いたい事わかりましたよ!
この問題の意味がわかりました。
C言語検定で頭がいっぱいであったので、
いい復習になりました。感謝してます。
ありがとうございした。
No.5
- 回答日時:
一般に、
右シフトすれば1/2に、
左シフトすれば2倍になります。
ところで、シフトには、
いわゆる論理シフトと算術シフトがあって、
符号を考慮するかどうかでシフトと意味が変わってきます。
論理シフトの場合シフトして空いたビットには0が入ります。
10101010→1ビット右にシフト01010101、一番右側の0は捨てられる
算術シフトの場合
10101010→1ビット左にシフト11010101
となります、
-2を右シフトして1/2にするとき、
結果は-1になって欲しいですよね。
そのことを考えると、算術シフトと論理シフトの違いがわかると思います。
この回答への補足
論理シフトと算術シフトの違いは先日学校で習ったばかりです。
復習もかねて書きますね(^^)
算術シフトには符号ビットがついてして符号ビットは固定なんですよね。右へシフトの時はあいたビットに符号ビットと同じ値が挿入されて、左ビットの時は右のあいたビットには0が挿入されるのですよね。
論理シフトは右・左にシフトしたときあいたビットに0を挿入するんですよね。
なんでこんなシフトする必要なるの?その理由も教えてくれました。
私たちもう小学校の頃から掛け算のひっさんで知らないうちにシフト演算してたんですね。それには驚きでした。
じゃあ先生に「はみ出した数はどうなるの?」と質問したら「左にはみ出したらオーバーフロー・右にはみ出したらアンダーフローなんだぞ」といわれたんです。
そうすればこれ、誤差の部分でやったような…うーむ(-。-)
これ書いたら復習します。
この問題の意味がわかりました。
C言語検定で頭がいっぱいであったので、
いい復習になりました。感謝してます。
ありがとうございした。
No.4
- 回答日時:
質問の意味が不明瞭です。
「8ビットのレジスタに、ある負数が2の補数表示で入っている時これを4ビット右算術シフト結果ありえるビット列はなんでしょうか?」という問題があるのですが、題意が読み取れません。
という質問でしょうか。
だとすれば、問題文自体が不明瞭ですので、出題者に題意を質問する以外に「正しい題意」を知る方法はありません。我々(回答者)は題意を「想像」「予想」することはできますが、それが正解かどうか判断できるのは出題者だけだからです。
この回答への補足
8ビットあるレジスタに、ある負数が2の補数表示ではいっている。これを4ビット右へ算術シフトをした結果として、ありうるビット列はいくつか?
ア・00000111
イ・00001111
ウ・10000000
エ・10000110
オ・11111111 正解オ
答えを教えてくれという質問ではなく、問題の意味と考え方が知りたいのです。
No.3
- 回答日時:
2の補数表示で入っている時これをなんで関係ないからね・・・・・・・
その意味が判って計算できるかが問われてる問題ですね
8ビットのレジスタをビット右算術シフト結果ありえるビット列はなんでしょうか
と同じですね
ある負数が2の補数表示で入っている時は関係ないですね
No.2
- 回答日時:
ある負数が
1001 0000は-16ですから 算術右シフト1ビットで
1000 1000==-8 2ビットで
1000 0100==-4 3ビットで
1000 0010==-2 4ビットで
1000 0001==-1 になりますね。
ですから
1001 0000(-16)から1111 0000(-112)となり ありえる
というか無効にならないビット列は上位4ビットという
意味にとれますが 良い問題とは思えません。
参考URL:http://www5f.biglobe.ne.jp/~pafu/kihonweb/gozen/ …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 情報処理技術者・Microsoft認定資格 2進数の問題を教えてください。 1 2022/07/27 09:42
- 計算機科学 2進数の計算について 2進数の値は全て8ビットで負数は2の補数形式とする。結果が8ビットで表現出来な 3 2023/07/22 14:08
- 情報処理技術者・Microsoft認定資格 情報技術の問題についてです。 10進数の−36を以下のような16ビットの浮動小数点表示にするといくつ 3 2022/05/21 19:53
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- C言語・C++・C# このプログラミングの問題を教えて欲しいです。 キーボードから整数kを入力し、kが配列aの中に何個存在 2 2022/12/19 22:50
- 数学 以下の問題が分かりません。 8ビット浮動小数点数が、最上位ビットから順に符号1ビット、指数部3ビット 4 2023/07/22 16:06
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- システム CPUの問題について 2 2022/07/09 12:04
- 数学 フーリエ級数展開の問題 1 2022/11/04 10:57
- C言語・C++・C# C言語 3 2022/10/04 15:07
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
どの文章が自然でしょうか? シ...
-
店長にLINEを既読無視されました
-
Accessのクエリで2つのフィー...
-
遅刻・早退時間の関数
-
シフト表から名前が消えてたら...
-
パートのシフトが週1しか入りま...
-
シフトがLINEで出す系のバイト...
-
エクセルでシフトをランダムで...
-
シフト表に名前ない...
-
シフト表の順番に意味はあるの...
-
バイトのシフトを勝手に増やさ...
-
私のシフトの要求はわがままで...
-
パート職員ですが、シフト作成...
-
wワーク辞めたいです
-
私は4月から大学生です。バイト...
-
ドンキでオリエンテーションを...
-
問題の意味がわかりません
-
エクセルでシフト表を作成中で...
-
バイトのシフトが急激に減りま...
-
新しいアルバイトで働いて2カ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
どの文章が自然でしょうか? シ...
-
シフトがLINEで出す系のバイト...
-
パートのシフトが週1しか入りま...
-
店長にLINEを既読無視されました
-
バイトのシフトが急激に減りま...
-
エクセルでシフトをランダムで...
-
マンションのエントランスに、...
-
今日バイトを辞める事を電話で...
-
ドンキでオリエンテーションを...
-
バイトのシフト 確認方法
-
バイトのシフトを勝手に増やさ...
-
EVシフトがどうしても進むので...
-
Accessのクエリで2つのフィー...
-
スシローのバイト
-
凄く悩んでます(--;) 今、旦那...
-
ニチイ ばっくれ
-
赤外線吸収スペクトル
-
遅刻・早退時間の関数
-
私のシフトの要求はわがままで...
-
セブンイレブンのバイトを辞め...
おすすめ情報