アプリ版:「スタンプのみでお礼する」機能のリリースについて

超初級者ですが、検索しても分からなかったので
よろしくお願いします。

2進法、nビットの場合、

-2(n-1)乗~2(n-1)乗-1

と書いてあるのですが、
何故-2(n-1)乗+1~
ではないのでしょうか?

4ビットの場合、表せるのは
-7~7のような気がするのです。。

よろしくお願いします!

A 回答 (7件)

>4ビットの場合、表せるのは


>-7~7のような気がするのです。。

2の補数は各ビットの1と0を反転したものに+1したものです。
ま、書けば判ります。
一番左のビットは0=プラス、1=マイナスを表す物として。
0111 = 7
0000 = 0
1000 = (-8)
で理解出来ますか?
マイナスは-2(n-1)乗分表現出来ます。
ま、参考URLの
4.マイナスの数値の2進数 → 10進数
あたり読んでください。

参考URL:http://www.pursue.ne.jp/jouhousyo/sysad/sysad010 …
    • good
    • 1

1000を0以外の数字として扱っているからです。


これは2の補数の約束から-8です。
0000は当然0です。
ちなみに、1の補数では0000と1000の2つを0として扱います。
    • good
    • 0
この回答へのお礼

短い時間にたくさんの回答を下さり、
どうもありがとうございました。

なんか、、、理解できましたー!!(多分…)
補数表現って…知りませんでした(汗)
約束なんですね。覚えます!
てっきり、-1は1001だと思ってました。。

どの回答も分かりやすくとても参考になりました。
まとめてのお礼でごめんなさい。
ポイント悩みますが、独断でつけさせていただく
ことをお許し下さい。

どうもありがとうございました!!m(_ _)m

お礼日時:2006/05/21 20:16

> 4ビットの場合、表せるのは


> -7~7のような気がするのです。。

1の補数表現ならその通り。
2の補数表現なら-8~7です。
    • good
    • 1

補数表現を使わずに, 頭の1bitをそのまま+/-に対応させてしまうと, -7~+7になってしまいますよね.


この場合, 0を表す符号が0000と1000の2個もあることに気をつけましょう.
これを1つにまとめれば1個多く数字を表せますよね.

(補数表現自体はもうみなさんご回答されていますので, そちらを参考に・・・)
    • good
    • 0

ヒントです



4ビットの場合、1000は十進数のいくつでしょう?

いくつ足せば先頭の1(符号)が桁あふれにより消えるかを考えてください。
そうすると1000→-8であることが解ります。
    • good
    • 0

4ビットの場合表せるのは


0111・・ 7
0110・・ 6
0101・・ 5
0100・・ 4
0011・・ 3
0010・・ 2
0001・・ 1
0000・・ 0
1111・・-1
1110・・-2
1101・・-3
1100・・-4
1011・・-5
1010・・-6
1001・・-7
1000・・-8
までなので、-8~7までになりますよ。
(二進数の表し方に補数表現を使用していますから)
    • good
    • 0

2の補数表現の場合


4ビットであらわせるのは、
-8~7 です。
7:0111
6:0110
5:0101
4:0100
3:0011
2:0010
1:0001
0:0000
-1:1111
-2:1110
-3:1101
-4:1100
-5:1011
-6:1010
-7:1001
-8:1000
    • good
    • 0

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