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

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?

 以上、宜しくお願い致します。

A 回答 (4件)

純粋に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進数で表記するか」「何に使うか」が決まらないと、このような表記は正しいかどうか判断できません。

以上。
    • good
    • 0

 


回答ではありませんが・・・。

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

小数点数の表示法方法は


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

参考URL:http://www.econ.kyoto-u.ac.jp/~hmatsui/lecture/I …
    • good
    • 0

固定小数点では、


0.5は 0000.1
0.75は 0000.11
で合ってます。
負の数は忘れてしまいました。
    • good
    • 0

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