• ベストアンサー

補数と進数とビット

明日テストなのですお願いします 次の10進数を2の補数を利用して()内のビット数で2進数に直して下さい。 問1 -6(4ビット) 問2 -102(8ビット) 10進数から2進数への直し方はわかります。-の補数がよくわかりません。 お願いします

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

  • ベストアンサー
  • DarkMoon
  • ベストアンサー率21% (225/1046)
回答No.1

情報処理技術者試験レベルで問われる負の数の表現は主に二つあります。 1の補数…二進数表記の0と1を反転させた数。例えば-1なら00000001(2)→11111110(2) 2の補数…1の補数に+1した数。例えば-1なら00000001→11111111(2) 普通は、2の補数への変換について問う問題が出題されると思います。 とにかく、-1は11111111(2)、-2は11111110(2)、-3は11111101(2)…と覚えておけば 大丈夫だと思います。

参考URL:
http://www.it-license.com/cardinal_number/The_complement_of_2.html
全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

noname#157574
noname#157574
回答No.2

コンピュータの内部では10進数を2進数で表しますが,負の数は次のように表します。 問1 6は4ビット2進数で0110と表されるので0と1を反転させて1001    1を加えて1010 問2 102は8ビット2進数で01100110と表されるので    0と1を反転させて10011001 1を加えて10011010 一般に負の数はその絶対値を2進数に直し,0と1を反転させて最後に1を加えた数で表します。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 補数について質問です。「次の10進数を8ビットの2の補数に変換せよ」(

    補数について質問です。「次の10進数を8ビットの2の補数に変換せよ」(1)-111 まず絶対値をとり111にする。次に111を2進数で表す。0001 0001 0001となりますが、8ビットの2の補数に直すため0001 0001 0001の部分は8桁にしなくてはいけませんが、12桁になってしまいます。こういう場合どうすればいいのですか?

  • 2の補数表現2進数が表す10進数は?、

    次の2の補数表現の2進数が表す10進数はいくらか? 1111 1111 1111 1111 1111 1111 1111 1111 という問題があるのですが、 これを解くと、まず、上のビット列は2の補数表現なのだから、これはマイナスですよね?そして、次にビット列を2の補数を求めるやり方でやると元の数がわかりますよね(この辺がいまいち解っていない)? という事は全ビットを0にして、最下位ビットに1を 足せばいいから0000 0000 0000 0000 0000 0000 0000 0000 + 1 =0000 0000 0000 0000 0000 0000 0000 0001 となります。10進数だと 1を表すから答えはー1という事になるのでしょうか?お願いします。

  • 4ビットの2進数を使って補数の説明

    タイトルのとおり「4ビットの2進数を使った補数の説明」のしかたがいまいち解りません・・・ どのように説明すればいいのでしょうか?

  • 16ビットの2進数の、2の補数を求める操作

    16ビットの2進数の、2の補数を求める操作として、以下のうち、適当なものはどれなのか、わかりません。 ・(FFFF)16とANDをとる ・(0001)16とORをとる ・(FFFF)16とEORをとる ・(0001)16とORをとったあと、(0001)16を加える ・(FFFF)16とEORをとったあと、(0001)16を加える マイナスの数は、2の補数で表します。 0と1を反転させたものに、1を足します。 また、論理計算も、論理積、論理和、排他的論理和は理解しています。 2の補数の求め方は分かるのですが、以上の問題になると、とたんに解けなくなります。 どなたか教えていただけませんでしょうか。

  • 補数について教えてください!

    情報処理技術者試験の内容なんですが、やり方も理解できず悩んでいます。教えてください。 その1. 2の補数を使って解きなさい   0110  -)0111 ------------ その2. 次の2進数は2の補数であらわした負の値である。符号付きの10進数に変換しなさい。  1) 1001  2) 1010  3) 1111  4) 1000 その3. 次の10進数を2の補数(4ビット)に変換しなさい。  1)-6  2)-3  3)-5  4)-4 本を見ながら解いているのですがいまいち理解できません。お手数お掛けしますが、解る方がいらっしゃいましたら解説付で教えてくださると助かります!よろしくお願いいたします!

  • 2に補数

    10進数から2進数を2の補数にする時はビット反転して1を足すとできますが、2進数から10進数を2の補数にするときも同じくビット反転して1を足すと正解の答えが出るのですが、そのやり方でいいのでしょうか?

  • 2進数、2の補数について

    負の表現を2の補数とすると、4ビットで扱うことができる整数の範囲は、10進数で○~○である。 という問題がわかりません。 答えは-8~7とあるんですが・・・。 冬休みに入って先生に聞けないので、どなたか教えて頂ければと思います。 どうぞアドバイスよろしくお願い致します。

  • 2の補数について

    情報処理試験(基本情報)用の考え方という前提でお聞きします。 「負数を2の補数形式で表現する2進数の計算で・・・・」という問題がよくあります。 この問題文の中で「10101」などの数(これは5ビットの符号付2進数とします) として記述されているものは、もう2の補数になっていると考えていいのでしょうか? それともこれを、今から2の補数に直すのですか? (もし直すのであれば、最上位ビットの符号が変わるのでしょうか?) 違う言い方をしてみますと「A」の2の補数が「-A」だとしたら、 「-A」の2の補数は「A」になるんでしょうか? それとも「そんな表現はない。-Aの時点ですでに2の補数だ」という ことになるのでしょうか? 解りにくくてすみません。

  • ビット?10進数?2進数?の計算教えてください!

    どのカテゴリーに入れたらいいかわからなかったんですが・・・ 大学の情報技術基礎のテストで、 「10進数の-8を2の補数を使って8ビットの2進数で表現しなさい」 みたいな問題が出るんですよ。 教科書見てもわからなくて困ってます・・・ 今日中に書き込みしていただけるかたがいらっしゃいましたらよろしくおねがいします。 「ここのHPわかりやすいよ」みたいなものでも構いませんのでよろしくお願いします!

  • 問:負数を2の補数で表現する符号付き16ビットの2進数を16進法で表示

    問:負数を2の補数で表現する符号付き16ビットの2進数を16進法で表示したもののうち、4倍するとあふれが生じるものはどれか。 ア 1FFF イ DFFF ウ E000 エ FFFF 以下は、それぞれを2進数表示にしたものです。 先頭の符号ビットは[0]の表記で目立たせてあります。 ア [0]001 1111 1111 1111 イ [1]101 1111 1111 1111 ウ [1]110 0000 0000 0000 エ [1]111 1111 1111 1111 以下は、4倍したもの ア [0]111 1111 1111 1100 イ [0]111 1111 1111 1100 ウ [1]011 0000 0000 0000 エ [1]111 1111 1111 1100 この場合は、ア以外は負数ですが、『負数を2の補数で表現する符号付き16ビットの2進数を、16進数で表現した場合』は16進数が正の数でも、2進数だと負数になると言う事でしょうか? また、符号付きでない場合は、上記はすべて正の数と言う事で合ってますか? 回答を見る感じでは16進数を2進数に変換しただけで、『2の補数で表現』の部分がないように思えます。この辺りも知りたいです。 問題の解き方についても疑問があります。 http://questionbox.jp.msn.com/qa4278151.html での回答では、 イ DFFF →(シフト前)1101 1111 1111 1111 →(シフト後)0111 1111 1111 1100 先頭ビットが1から0に変わったので「桁あふれ」。 問題集の回答ではこっちで説明されていました。 http://okwave.jp/qa/q4302488.html のANo2回答では (シフト前)[1]101 1111 1111 1111 (シフト後)[1]111 1111 1111 1100 2の補数表現による負の数の場合,シフト操作によって1が消えていくのは問題ない。 シフト操作によって0が消えると結果が変になる。これが「あふれ」 符号はシフトさせず、左に2つシフトさせた事で、10が消えた事で桁あふれとしています。 ANo1の回答では、 DFFFだと同様に 1101 1111 1111 1111で1の補数は 0010 0000 0000 0000 2の補数は 0010 0000 0000 0001 つまり、-8193ですよね。 4倍すると、-32772で、これは16ビットの2の補数表現 で表現できる数の範囲からあふれてしまいます。 DFFFなどの2進数に変換後、2の補数を使用するのが正しいのでしょうか? 最初の2つの回答では2の補数を使用していなかったので、疑問に思っています。 頭が混乱しております・・・。 回答宜しくお願い致します。

このQ&Aのポイント
  • 印刷したら色が薄く全然ダメ
  • MFC-J1605DNを使用している際、印刷した後の色が薄くなり、使用できない状態です
  • お使いのBrotherのMFC-J1605DNで印刷した際、色が非常に薄くなり、印刷物が読みにくくなっています
回答を見る