私は宿題に取り掛かっています。バイナリ浮動小数点数を小数部に変換する必要があります。私はプロセスを理解しているように感じますが、私は正しい答えを得ていません。ここに私の思考プロセスがあります。バイナリ浮動小数点を10進小数に変換するにはどうすればよいですか?
Iバイナリフロートを有する:0 000 101
- 3ビットの指数フィールドのバイアスが3:
2^(3-1)-1 = 3
- 仮数が
1.101
(ベース2) - 指数ビットの値になります、0から指数ビット数-3を引いた値が-3なので、仮数部の小数点は3桁左に移動します。
0.001101
- ベース10では、
2^-3 + 2^-4 + 2^-6
であり、これは0.203125または13/64に等しい。
しかし、13/64は正解ではありません。自動グレーダーはそれを受け入れません。私の答えが間違っていると、なぜ私は理解できず、誰かが私を正しい方向に向けることを望んでいます。
純粋な幸運で私は答えとして5/32を推測し、正しいと判断しました。なぜそれが当てはまるのかわかりません。
それが正しい答えが何を言うのでしょうか? –
この0.001101を正しいか間違えて見る別の方法は、1101/2^6または13/64と同じです。あなたの指数は間違っていなければなりませんか?適切な答えを知っていることはそれを正当化するべきですか? –
純粋な幸運で私は答えとして5/32を推測し、それを正しく得ました。私はなぜそれが事実であるのか分からない – Grav