• ベストアンサー

"2進数"で負の小数点の表し方?

2進数で、負の整数の表現方法は分かるのですが 小数点となると分かりません。 質問(1)  ・上位1bitを符号ビットとする4bitで2進数を表すと  10進数 → 2進数    7 → 0111    1 → 0001    0 → 0000   ー1 → 1111   ー8 → 1000  さらに、小数を表す1bit追加すると   0.5 → 00001 ?   -0.5 → 11111 ?  上記であってますか?  そして、0.75は?000011?  以上、宜しくお願い致します。

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

  • ベストアンサー
  • pancho
  • ベストアンサー率35% (302/848)
回答No.3

純粋に2進数で表記すれば、 0.5 = 0.1 -0.5 = -0.1 (共に左が10進数表記・右が2進数表記) これ以外は取り決め次第で、「小数を表す1ビットを追加」を普通に解釈すれば、「実際の数値を2倍して表記」となります。 この定義では、0.75は表記不能です。 拡大解釈をして「整数部を左側4ビットで表す」とすることも取り決めとして認められるでしょうが、混乱の元であり、敢えてこんな表記をする必要も無いでしょう。 また、-1を1111と表現するのは「2の補数表記」と呼ばれる方法で、これも取り決め次第です。一般的なコンピュータでは、「+1」+「-1」=0のような計算を正数の加算と同じ方法で実行するため、この「2の補数表記」が使われます。 0001 + 1111 = 0000 (上位1ビットは桁落ちする) 要は、「何のために2進数で表記するか」「何に使うか」が決まらないと、このような表記は正しいかどうか判断できません。 以上。

その他の回答 (3)

noname#4564
noname#4564
回答No.4

  回答ではありませんが・・・。 この辺りのことは、情報処理資格試験(基本情報など)の対策本に詳しい解説が必ず出ているはずです。コンピュータに興味をお持ちでしたら、書店で調べてみてはどうでしょうか?

noname#2890
noname#2890
回答No.2

小数点数の表示法方法は 符号部と指数部と仮数部に分けて表現します。 32ビットの場合、 最上位ビットが符号部で次に指数部が8ビットついで仮数部が23ビットになります。 指数部はバイアス(底上げみたいなもの)があったり、仮数部はかくれ1方式があったりと説明が面倒なので、URLを見てください。

参考URL:
http://www.econ.kyoto-u.ac.jp/~hmatsui/lecture/IS-2000/IS-04/img017.gif
  • panda0000
  • ベストアンサー率35% (59/165)
回答No.1

固定小数点では、 0.5は 0000.1 0.75は 0000.11 で合ってます。 負の数は忘れてしまいました。

関連するQ&A