3ビットの場合,+3の2の補数は何なんでしょうか?
011を1と0をひっくり返して,1を足せばいいのでしょうか?

 でも,教科書には+3の1の補数も2の補数も011とかいてあります。
 これはどういうことなのでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (8件)

>うーん,そうは書いてないですよ。


>どう書いてあるかというと,「整数の表現法の比較」という欄で表があって
>----------------------------------
>10進│符号と絶対値│2の補数│1の補数
>----------------------------------
>+3 │ 011   │ 011 │ 011
>----------------------------------
>+2…

+3は正の数ですから、「2の補数(表現方式)」「1の補数(表現方式)」で書く場合、
そのまま2進数化して、011を利用するという意味なのです。

つまり、「正の数の場合はそのまま2進数化し、負の数の場合はその数の
絶対値を取ったものの2の補数表現を利用する。」それが、
2の補数表現方式ということです。
したがって、教科書の「補数」という言葉に、前後の関係に注意しながら、
必要に応じて「表現方式」という言葉を補って読んだらいかがですか。

3ビット限定のシステムなら、対応表は
次のようなものになると思います。
----------------------------------
10進│符号+絶対値(表現方式)│2の補数(表現方式)│1の補数(表現方式)
----------------------------------
+3 │ 011   │ 011 │ 011
+2 │ 010   │ 010 │ 010
+1 │ 001   │ 001 │ 001
0 │ 000   │ 000 │ 000
-1 │ 101   │ 111 │ 110
-2 │ 110   │ 110 │ 101
-3 │ 111   │ 101 │ 100
-4 │ 表せない │ 100 │ 011(+3と同表現)
-----------------------------------
この表から、2の補数表現方式の場合なら、
最左端ビットが符号ビットとして利用できることが分かります。

なお、符号+絶対値表現方式というのは、
最左端ビットを符号ビットとし、右2ビットは絶対値の2進数を当てるというものです。

整数の内部表現方式としては、この他に、
「符号無し整数表現方式」や「r増し表現方式」などというのもあります。
    • good
    • 0
この回答へのお礼

杓子定規な考え方しかできなくて申し訳ありません。
nrbrtさんが書いてくれたとおりの表ですよ。-4はありませんけど。

よく理解できました。付き合ってくれてありがとうございました。

お礼日時:2001/06/07 23:22

教科書をよく読めば、多分「2の補数方式」「1の補数方式」といった意味で書いてあるのでしょう。



「2の補数方式」と「2の補数」とは違うということです。

「整数aが非負のときはそのまま2進数化したものを使い、負のときは|a|の2の補数表現を使う。」
これを「2の補数方式」とか「IBM方式」などという。
このとき、
・+3の「2の補数方式」あるいは「IBM方式」による内部表現は、a=+3>0だからそのまま011。
・「+3の2の補数」は、011を0,1反転して1足して101。
・-3の「2の補数方式」あるいは「IBM方式」による内部表現は、a=-3<0だから3の「2の補数」を使って101。

「整数aが非負のときはそのまま2進数化したものを、負のときは|a|の1の補数表現を使う。」
これを「1の補数方式」とか「Univac方式」などという。
このとき、
・+3の「1の補数方式」あるいは「Univac方式」による内部表現は、a=+3>0だからそのまま011。
・「+3の1の補数」は、011を0,1反転して100。
・-3の「1の補数方式」あるいは「Univac方式」による内部表現は、a=-3<0だから3の「1の補数」を使って100。
    • good
    • 0
この回答へのお礼

うーん,そうは書いてないですよ。

どう書いてあるかというと,「整数の表現法の比較」という欄で表があって
----------------------------------
10進│符号と絶対値│2の補数│1の補数
----------------------------------
+3 │ 011   │ 011 │ 011
----------------------------------
+2…

という表になってます。2の補数方式という言葉もみあたりませんでした。

なんにせよ,今までご回答くださった方々のいいたいことは少しずつ分かってきました。ありがとうございます。

お礼日時:2001/06/05 20:14

すいません、単純ミスがありました。

訂正!!

-3:

1)では、101
2)では、100

です。
    • good
    • 0

おっしゃている意味が分かりました。

教科書は合ってますよ!!

計算機には、No.2で申し上げたとおり、

1)「負の数を2の補数で表現するシステム(例:IBM)」
2)「負の数を1の補数で表現するシステム(例:Univac、現Unisys)」

があります。正の数に関しては、1)も2)も同じです。+3なら、

■011です。

教科書のとおりでしょ?しかし、-3なら、今メンドイので3ビットとすると、

1)では、101
2)では、110

となります。No.2では「-3」のことを言っているのだと勘違いしました。

蛇足ながら、No.2で述べたとおり、1)では+0と-0が同じで、

・000(+0)
・000(-0)

ですが、2)では

・000(+0)
・111(-0)

となります。このためもあってか、現在のUnixマシンや、PCでは「2の補数」が使われているようです。
    • good
    • 0

ビット数が3ビット限定の場合、3_(10)=011_(2)の1の補数は、100_(2)です。


(ちなみに、「1」(=基数2-1)の補数とは(擬補数ともいう)、桁ごとに足すと、互いに補い合って、
111_(2)になる数のこと。だから0,1反転する。)
また、3_(10)=011_(2)の2の補数は、101_(2)です。
(ちなみに、基数「2」の補数とは(真補数ともいう)、足すと、互いに補い合って、
基数の桁数乗=2の3乗=8_(10)=1000_(2)になる数のこと。だから0,1反転して1足す。)

ともに011と書いてあるのは、教科書が間違っているのでしょう。

注:a_(10)やb_(2)は、それぞれaは10進数、bは2進数という意味です。

また「+3の2の補数」や「+3の1の補数」という言い方は、間違いではありません。
たとえば、このように、1つの整数データを3ビットで表すシステムで、
内部表現形式として「符号なし整数」を使えば、0~2の3乗-1=7までの8通りの整数を表せます。
これに対し、内部表現として「負数を表すのに、2の補数表現を使う」ことにすれば、
(たとえば、「-3」を表すのに、「+3の2の補数表現101を対応させる」ということ)
-2の2乗=-4 ~ 2の2乗-1=3までの8通りの整数を表せるようになる。
これによって、「3を引く」あるいは「-3を足すこと」は、「3の2の補数101を足すこと」となり、
(例:5-3=101+101=1010(ただし最左端の1はこぼれて)=010=2)
引き算も足し算でできる、つまり減算回路を使わずに加算回路だけで
四則演算ができるという利点を生んでいるのです。

参考まで。
内部表現として、「最左端ビットを符号ビット(0のとき正、1のとき負)として使用し、
右2ビットを符号なし整数として読み取ることにすれば」(つまり絶対値表現法)
-3 ~ +3の7通りの整数を表せるようになる。
このとき、ゼロは+0と-0の2通りの表現をもつ。
    • good
    • 0

「+3の2の補数は何なんでしょう?」という質問は、


日本語としておかしいような気がします。
無理に解釈すれば「-3を2の補数方式で表す」という意味になり、
011という値は誤っていることになります。

教科書は「+3を2の補数方式で表す」という意味で、
書いてあるのではないでしょうか。
これなら、符号は意識しなくていいので、
答えはそのまんま011となります。
    • good
    • 0
この回答へのお礼

+3を2の補数方式で表す と +3の2の補数 
はちがうんでしょうか?

もっと勉強したいと思います。

お礼日時:2001/06/01 20:10

2の補数なら、101


1の補数なら、100

でしょう?

1の補数の場合、-0と+0が異なることが特徴です。2の補数なら同じ。

昔の汎用機で言うなら、IBMが2の補数、Univacが1の補数。
    • good
    • 0

誤植ではないでしょうか?だって、1の補数も、2の補数もおなじでは変でしょう。

    • good
    • 0
この回答へのお礼

でしょう?僕もそう思います。しかし回答早いっすねー(@_@)

お礼日時:2001/05/31 22:05

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qx1=(1,1,1),x2=(1,1,-1),x3=(1,-1,-1)をC^3の基底,{y1,y2,y3}がその双対基底でx=(0,1,0)の時,y1(x),y

[問] ベクトルx1=(1,1,1),x2=(1,1,-1),x3=(1,-1,-1)をC^3の基底とする。
{y1,y2,y3}がその双対基底でx=(0,1,0)の時、
y1(x),y2(x),y3(x)を求めよ。

という問題の解き方をお教え下さい。

双対基底とは
{f;fはF線形空間VからFへの線形写像}
という集合(これをV*と置く)において、
V(dimV=nとする)の一組基底を{v1,v2,…,vn}とすると
fi(vj)=δij(:クロネッカーのデルタ)で定めるV*の部分集合
{f1,f2,…,fn}はV*の基底となる。これを{v1,v2,…,vn}の双対基底と呼ぶ。

まず、
C^3の次元は6(C^3の基底は(1,0,0),(0,1,0),(0,0,1),(i,0,0),(0,i,0),(0,0,i))
だと思うので上記のx1,x2,x3は基底として不足してると思うのです(もう3ベクトル必要?)。

うーん、どのようにしたらいいのでしょうか?

Aベストアンサー

>C^3の次元は6(

これが間違え.
「x1=(1,1,1),x2=(1,1,-1),x3=(1,-1,-1)をC^3の基底」
といってるんだから,係数体はRではなく,C.

あとは定義にしたがって,
dualな基底を書き下せばいいだけ.
y1(x1)=1,y1(x2)=y1(x3)=0であって
v=ax1+bx2+cx2と表わせるわけだし,
v=(v1,v2,v3)とすれば,a,b,cはv1,v2,v3で表現できる
#単なる基底変換の問題.

Q≪問題≫実数x,y,zは関係式,x+y=2…(1),x^3+y^3+z^3

≪問題≫実数x,y,zは関係式,x+y=2…(1),x^3+y^3+z^3=8…(2)を満たす。
(1)x^2+y^2+z^2をzを用いて表せ。

(x+y+z)(x^2+y^2+z^2-xy-yz-zx)-3xyz=x^3^+y^3+z^3
の関係式を使ってみようかな。。。
って思ったんですが…できません^^;

どなたかよろしくお願いします。

Aベストアンサー

x^2+y^2+z^2をzで表すのだからx^2+y^2の部分が問題です。
x^2+y^2はx+yとxyで表せますね。
だから目標はxyをzで表すことです。

(1)が使えるように(2)を変形してみる。
(x+y)^3-3xy(x+y)+z^3=8
(1)を代入してみる。
2^3-3xy*2+z^3=8
xy=z^3/6
となった。

Q1+2+3+4+・・・=-1/12,1+1/2+1/3+…=???

リーマン・ゼータ関数において、

ζ(0)=1+1+1+・・・=-1/2
ζ(-1)=1+2+3+4+・・・・・=-1/12
ζ(-3)=1+2^3+3^3+4^3+・・・・・=1/120
ζ(-5)=1+2^5+3^5+4^5+・・・・・=-1/252

といった一見では無限大に発散するような級数も、解析接続とかくりこみ理論とかいうことを考えると、意味を持たせることができるようです。

では、
ζ(1)=1+1/2+1/3+…=???
1-1+1-1+1-1+1-…=???

といった一見では収束しない級数などにおいても、新たな理論を考えて、意味を持たせることができるでしょうか?

もうそれは実数の意味ではなく、形式的な表現
1+1/2+1/3+…
の意味でしかないかもしれません。
しかし、なにか別のものとの関係式としてとらえることは可能でしょうか?

Aベストアンサー

面白いことを考えますね。

Z(1)=1+1/2+1/3+....1/n+...
X(1)=1-1+1-1+1-....

などに意味を持たせることができるかと言う事ですね。有限和を

A(n)≡a0+a1+a2+a3+....+an

と定義した時に、通常は級数和の値を

lim_{n->∞}A(n) = α

と定義しますね。つまり和は初項から順番に取っていってその値が収束するなら、それを級数和の値αと言うわけですが、

(1)「絶対収束しない級数は和の順番を並べかえるとその値を色々と変わる。」を逆手にとれば級数和の順番を変えてしまえば発散級数にも意味を持たす事は可能ですよね。順番を変えないにしても2個とびに和を取ってゆくということもありえます。例えば

lim_{n->∞} Σ_{k=0→2n}X(k) = 0 がこの級数和

と「定義」することはできます。それがどれくらい有用かはしりませんが。 


(2)または解析接続で定義するかぎりZ(1)=∞はさけようがないわけですが(理由はx=1がゼーター関数の級数表示の収束半径を決める特異点だから)、解析接続という条件を外せば、Z(1)に意味を持たせる事も可能ではないかと(私は)思います。がしかし、そういうことをするともはやZ(1)を拡張した関数としてのZ(x)などと言うものは存在しないことになりますよね。そんなものにどれくらい意味があるのか疑問です。つまりZ(1)に意味を与えたら、「それはそういう数」だと言って終りになりかねない気がします。

専門家じゃないので、書いたことに大して自信はありません。

面白いことを考えますね。

Z(1)=1+1/2+1/3+....1/n+...
X(1)=1-1+1-1+1-....

などに意味を持たせることができるかと言う事ですね。有限和を

A(n)≡a0+a1+a2+a3+....+an

と定義した時に、通常は級数和の値を

lim_{n->∞}A(n) = α

と定義しますね。つまり和は初項から順番に取っていってその値が収束するなら、それを級数和の値αと言うわけですが、

(1)「絶対収束しない級数は和の順番を並べかえるとその値を色々と変わる。」を逆手にとれば級数和の順番を変えてしまえば発散級数にも意味...続きを読む

Qa_1=1, a_(n+1)=√(1+a_n) (n=1,2,3,,,

a_1=1, a_(n+1)=√(1+a_n) (n=1,2,3,,,)のときの lim(n→∞)a_n をもとめよ。
途中し式も詳しく教えてください

Aベストアンサー

a_1=1
a_n≧1とすると
(a_{n+1})^2=a_n+1≧2
a_{n+1}≧√2>1

x^2=1+x
x=(1+√5)/2>1
a_{n+1}+x>2
(a_{n+1})^2-x^2=a_n-x
(a_{n+1}-x)(a_{n+1}+x)=a_n-x
|a_{n+1}-x|=|a_n-x|/(a_{n+1}+x)<|a_n-x|/2

|a_2-x|<|a_1-x|/2=(√5-1)/2

|a_{k+1}-x|<(√5-1)/(2^k)とすると
|a_{k+2}-x|<|a_{k+1}-x|/2<(√5-1)/(2^{k+1})

|a_{n+1}-x|<|a_1-x|/(2^n)

ε>0に対して (√5-1)/ε<n0 となる n0があり
n>n0 ならば |a_{n+1}-(1+√5)/2|<(√5-1)/(2^n)<(√5-1)/n0<ε
lim_{n→∞}a_n=(1+√5)/2

Qa1=1 , an+1 = √1+an (n=1 ,2,3・・)に対して

a1=1 , an+1 = √1+an (n=1 ,2,3・・)に対して
(1) a2 n+1-a2n = an -an-1 が成り立つことを示し、数列{an}が単調数列であることを示せ
(2) an<2 となることを示せ
(3) lim an を求めよ
うまく数列の小さい文字(aの右下の1とかn)が打てないので ワードで書いたものを添付します。あと、√の中には1+anまで入ります。よろしくお願いします。

Aベストアンサー

証明すべき式の左辺へ、a[ ] の漸化式を代入すれば、
{ a[n+1] }^2 - { a[n] }^2
= { √(1 + a[n]) }^2 - { √(1 + a[n-1]) }^2
= (1 + a[n]) - (1 + a[n-1])
= a[n] - a[n-1]
となります。

左辺を因数分解して、
(a[n+1] + a[n])(a[n+1] - a[n]) = a[n] - a[n-1] ですが、
漸化式より直ちに、a[ ] > 0 ですから、a[n+1] + a[n] > 0。
従って、a[n+1] - a[n] と a[n] - a[n-1] は同符号です。
a[2] - a[1] = (√2) - 1 > 0 より、帰納的に、
任意の n について a[n+1] - a[n] > 0 であることが示せます。

a[n] < 2 のとき、a[n+1] = √(1+ a[n]) < √3 < 2 ですから、
(2) も、帰納法で示せます。

(1) より前に、(2) を兼ねて、
0 < a[ ] < 2 か 1 < a[ ] < 2 を帰納法で示してしまったほうが、
話の流れがスムースかもしれません。

(1)(2) と 「上に有界な単調増加列は収束する」という定理 (*) より、
lim[n→∞] a[n] は収束します。
よって、漸化式より、lim[n→∞] a[n] = √(1 + lim[n→∞] a[n])。
両辺を二乗して、二次方程式を解けば、a[ ] > 0 より
lim[n→∞] a[n] = (1+√5)/2 と解ります。

(*) Bolzano-Weierstrass の定理
http://hooktail.maxwell.jp/kagi/3be153db59f09c5327a4480f1694a1c9.html

証明すべき式の左辺へ、a[ ] の漸化式を代入すれば、
{ a[n+1] }^2 - { a[n] }^2
= { √(1 + a[n]) }^2 - { √(1 + a[n-1]) }^2
= (1 + a[n]) - (1 + a[n-1])
= a[n] - a[n-1]
となります。

左辺を因数分解して、
(a[n+1] + a[n])(a[n+1] - a[n]) = a[n] - a[n-1] ですが、
漸化式より直ちに、a[ ] > 0 ですから、a[n+1] + a[n] > 0。
従って、a[n+1] - a[n] と a[n] - a[n-1] は同符号です。
a[2] - a[1] = (√2) - 1 > 0 より、帰納的に、
任意の n について a[n+1] - a[n] > 0 であることが示せます...続きを読む


人気Q&Aランキング

おすすめ情報