dポイントプレゼントキャンペーン実施中!

2進数101011の8の補数の求め方を教えてください。

A 回答 (4件)

8の補数の定義を補足に書いてください。



101011(2進)=43=53(8進)
100(8進)-53(8進)=25(8進)←これが8の補数かな?
定義から確認してください。
8の補数法では負数は上位に7の桁が省略されていますので必要な桁数だけ7を補います。
25(8進)→725,7725, …7725 など。

この回答への補足

回答ありがとうございます。

すいません。定義をどう書いたらいいか分かりません。
101011の1の補数は010100、2の補数は010101という感じに2進数で回答するのですが、8の補数のが25(8進)なら、これを二進数に変換すればいいのでしょうか?

補足日時:2009/01/08 15:03
    • good
    • 0

「2の補数」を「2」「の」「補数」と逐語的に解釈すると、


補角、補集合、補空間などの連想から、足したら2になる相手
と考えかねませんが、無論、そうではない訳です。
言うまでもなく、「n桁の2の補数」とは、
足したら2^nになる相手のことを指します。
同様に、「1の補数」も、1という数の意味は失われているのです。
どちらも、「ニノホスウ」「イチノホスウ」で一単語と見るべきで、
「2の~」「1の~」の部分を取り出して考えても意味がありません。
ですから、「1の補数」「2の補数」から敷衍して、
「8の補数」などを考えてしまうこと自体が無価値だと言えるでしょう。

言葉は、歴史の垢が付いて初めて、言葉として意味を持つものですから、
現に使われている用語に逆らってもしかたがないのですが、
「2の補数」「1の補数」は、本当は、「0の補数」「-1の補数」と
呼ぶべきものだったのだろうと思います。
    • good
    • 1

#1です。


まず、あなたの質問が不完全で、質問を
「8進8桁(24ビット)の8の補数法による8進数表現を考えるとき
符号なし2進数(101011)2を8進数に変換し、その8の補数を8進8桁で求めよ。」
などと明確に書いて頂かないと、#2さんも言われているように回答者がどう解答していいか、困惑させるだけです。

一般のX進法のXの補数法または(X-1)の補数法については、参考URLの2.1節の最後に記述されている通りです。補数法を扱う場合はその進数の桁数を指定していただかないと補数法による数値表現が確定しません。

なので、A#1で定義を確認しましたが、書かれた補足だは、適切な定義や解答しうる問題の記述となっておらず、的確な回答が出来ません。
再度、問題を上述の例のように書き換えて補足に書いていただけないでしょうか?
最終的な答は、対象となるX進数(8進数?)の指定の桁数による補数表現で解答すればいいかと思います。
例、10進の-15を8進6桁の8の補数で表せ。
例の解)-5=-(17)8=-(000017)8=(777760)8 +1
=(777761)8←これが求める8の補数です。

疑問点)
2進数(101011)2 は符号あり2進数の6ビット2の補数表現ですか?

もしそうであれば
(101011)2=-(010101)2=-(25)8
8進2桁の8の補数法に変換するとすれば
-(25)8=(52)8+1 ←各桁が足して7になるようにして(7の補数)1を加える
=(53)8 
↑これが答になります。

参考URL:http://www.si.gunma-u.ac.jp/~iwai/binarydata/rep …
    • good
    • 0

8の補数といったら、ふつうは8進数か9進法が対象になるので、「2進数101011の8の補数」といわれると困惑するが、それでいいのかな。


1.2進法の
(1) 2の補数
足すと桁が上がるような最小の数。
(2) 1の補数
足しても桁が上がらない最大の数
2.8の補数
(1) 8進法で足すと桁が上がる最小の数。
(2) 9進法で足しても桁が上がらない最大の数。
3.2進数101011の場合
(1) 8進数に直す。
(101011)2=(53)8
(2) 8の補数
(100)8-(53)8=(25)8
(3) 9進数に直す
(101011)2=(47)9
(4) 8の補数
(100)9-(47)9-1=(41)9

ということか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このQ&Aを見た人がよく見るQ&A