• ベストアンサー

補数

10進数の2の補数は8 8進数の7の補数は1 2進数の1の補数は1 10進数の9の補数は4 と授業でやりました。 なぜこのようになるのか全くわかりませんでした。 過程を詳しく知りたいです。

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

  • ベストアンサー
  • shikechin
  • ベストアンサー率34% (35/102)
回答No.1

一応、定義としては、 「補数(ほすう)とは、ある基数法において、ある自然数 a に足して桁が1つ上がるような最小の数のことを言う。」 とのことです。 以下、10進数の場合で話します。 10進数のばある数に別の数を足した時に、桁上がり最小の数のことです。 2の場合は8です。2+8=10なので。 一の位+一の位=十の位。 どちらか片方が、決まった場合の、もう片方の数を補数と言います。 それぞれの進数の場合も同じです。 ちなみに、質問の中の 「10進数の9の補数は4」と言うのは間違いだと思います。 正確には、「1」であるはずです。

sisuado
質問者

お礼

一の位+一の位=十の位。 どちらか片方が、決まった場合の、もう片方の数を補数と言います。 ↑ありがとうございました。わかりやすかったです! 9-5だから4とか言ってたような気がします。。。

その他の回答 (4)

回答No.5

蛇足ですが 2進数の場合、「1の補数」と「2の補数」があります。 例えば、1101という2進数が合った場合、 1101の「1の補数」・・・各ビット反転 0010 1101の「2の補数」・・・1の補数+1で0011 よく使われるのは2の補数の方です。 n進数の場合もたぶん同じやり方でできると思います。 10進数の15の補数は、各桁を反転(9から引く)して1を足すと、85ですね。 試しに20-15を足し算だけで計算してみましょう。 20-15→20+85→105→05 答え5

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.4

ある限られた範囲の中の数で、マイナスを表すと考えるといいと思います。 例えば0~9の数を考える時、マイナスって数はありませんけど、 4に8を足すと 12になって、桁上げされた部分を無視(0~9の数字の範囲を超えているから) 2になりますね。 コレって 4-2した結果と同じですね。 つまり、8という数字で-2を表現していると考えてもいいと思います。 同じように、例えば、 0~255で数字を表す時 255が-1を表すみたいなことと同じですね。

  • keyguy
  • ベストアンサー率28% (135/469)
回答No.3

2の補数といったら2進数の2の補数を指すのですが 一応2進数の2の補数と訂正しておきましょう 他の補数は基本的に話の種になるぐらいで無意味ですから試験に出す先生がいたらど素人といえるでしょう

sisuado
質問者

お礼

何度もありがとうございます。 「2の補数」「2進数の2の補数」 この2つの意味は同じ?違う? と不思議に思っていたので、またまたすっきりしました。 授業中、試験に出しそうな雰囲気でした。。。 不安です。。。

  • keyguy
  • ベストアンサー率28% (135/469)
回答No.2

定義なのでこだわる必要はありません 2’sCompliment 以外はガラクタ概念です 役に立ちません 2の補数だけを知っていればいいでしょう

sisuado
質問者

お礼

ガラクタ概念です ↑問題がわからなくてムシャクシャしていたので、このよ うに言ってもらい少し気が楽になりました。  ありがとうございました。

関連するQ&A

  • 補数

    10進数の補数の問題で、決められた数値が1000で与えられた数値が50のときの10の補数が50となるのは分かるのですが、桁数を8桁までに限定したときの10進数89467の10の補数を求めるという問題のとき、「桁数を8桁までに限定する」というのはどういうことなのか教えてください。

  • 2の補数について

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

  • 2に補数

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

  • 1と2の補数

    10進数整数0、11、13を1の補数に変換 10進数整数0、32、45、を2の補数に変換 という問題がよく分かりません。 分かるかたおしえてください。おねがいします。

  • 補数について質問

    以下はJavaの参考書に掲載されている補数についての問題です。 疑問点にお答えいただけましたら幸いです。 次の10進数の補数を8桁の2進数で求めなさい A 15 B 0 C 1 質問1:Bについて、10進数の補数が0となっていますが、こんなのありえるんですか? 補数の定義は、「ある数 A に加えると、和の桁がひとつ上がる最小の数」ということなので、Bならある数がAが100でそれに加える数が0ということでしょうか? 質問2:質問1で記した定義に従い、補数15のある数Aとは85ですか? 質問3:「次の10進数の補数を8桁の2進数で求めなさい」という問題、そもそもどういう意図があるんですか?何故10進数の補数を8桁の2進数で求めさせるんですか? 質問4:この問題、10進数の補数を8桁の2進数に変換する問題かと思いきや、この10進数の補数を2進数に変換し、さらにその変換した2進数を補数にしたものが答えとなっています。 何故ですか?問題文おかしいような、、、 僕が読解を間違えたのでしょうか?

    • ベストアンサー
    • Java
  • 2の補数

    2進数で4桁の数を考える場合、2の補数では基数が〔10000〕となり、1の補数では「1111」となります。 なぜ、4桁の基数は同じ4桁の「1000」とならず5桁の「10000」となるのでしょうか? どなたか。教えてください。

  • 補数の定義について

    (●一般的に知られた事柄) 10進数の「9の補数」とは,各桁ごとに9からその数字を引いた値をいう. 10進数の「10の補数」とは,各桁ごとに9からその数字を引いた値に1を加えた値をいう. 2進数の「1の補数」とは,各桁ごとに1からその数字を引いた値をいう. 2進数の「2の補数」とは,各桁ごとに1からその数字を引いた値に1を加えた値をいう. (●自分で思った事柄) ですが,では, n進数の「(n-1)の補数」とは,各桁ごとに(n-1)からその数字を引いた値をいう. n進数の「nの補数」とは,各桁ごとに(n-1)からその数字を引いた値に1を加えた値をいう. と言いますか?? 特に, 16進数の「15の補数」とは,各桁ごとに15からその数字を引いた値をいう. 16進数の「16の補数」とは,各桁ごとに15からその数字を引いた値に1を加えた値をいう. と言わずに 16進数の「0x0fの補数」とは,各桁ごとに0x0fからその数字を引いた値をいう. 16進数の「0x10の補数」とは,各桁ごとに0x0fからその数字を引いた値に1を加えた値をいう.と言った方がいいのでしょうか? そもそも例えば10進数でこの9の補数や10の補数の9や10の数字の由来は何なんでしょうか??

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

    情報処理技術者試験の内容なんですが、やり方も理解できず悩んでいます。教えてください。 その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の補数

    (1)10進数1、2、3の値を2進数3桁で記述しなさい。またこれらの2の補数を求め3桁で記述しなさい。 (2)2進数における「2の補数」は、コンピュータにおける数値の扱いにおいて重要な役割を担うことができる。その役割について説明しなさい。 (3) (1)の解答から(2)で解答した役割は適切に機能していることが分かる。その理由を説明しなさい。 (4)2進数で表記したある数値の「2の補数」の求め方としてして、「各桁の1と0を反転し、それに1を加える」という方法がある。この方法が成立する理由を説明しなさい。(ヒント:2^b-1がどういう数であるかを考えるとよい) この問題の(2)からどう説明していいか分かりません。 どなたか教えて下さい。

  • 2の補数を使った計算

    ある計算機があり、2の補数を「ビット反転して1を加算する」方法とするときに10進数の計算「100-80」を2の補数を使って計算する場合は16進数で表すと幾つと幾つの加算になるのでしょうか?? 2の補数を使うというのがよくわからないのですが・・・