プロが教える店舗&オフィスのセキュリティ対策術

二進数を勉強しているのですが、符号がいまいちよくわかりません。

言葉で伝えにくいのですが、5Bitで00111と書かれていたら十進数で7と分かるのですが、11100と書かれていたら-4なのか36なのか見分けられません。

こういうときはどうやって見分ければいいのでしょうか。
何か、捕捉で書かれているのでしょうか。

よろしくお願いします。

A 回答 (2件)

結論:見分ける方法はありません。

(補足でも記載されていません。)
そもそも、0か1しか記録出来ないのに、「補足」という考え方がどうなのと思ってしまうのですが。。。

「11100」というデータの記録元・参照先の取り決めにより、どういう風に取り扱うべきか決まります。
「11100」の2の補数では-4ですが1の補数だと???です。
※いま酒で酔っ払っているためルーピーです、???は自分で調べてください。

C言語等では「0x10000000」はcharに格納すると-128で、unsigned char に格納すると128?です。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
見分ける方法がないのは、残念です。

どうにかします。

お礼日時:2010/05/20 00:08

えーと、まずは、何の為に二進数を勉強しているか?


からなど分かれば、見分ける方法が分かるかも知れません。

ちなみに、
0b11100は、28とも読めれば、0x1chとも、-12とも-0xchとも読めるかも。

この回答への補足

コンピュータの勉強をしていて、それで二進数を勉強しています。

補足日時:2010/05/20 00:04
    • good
    • 0

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