- ベストアンサー
浮動小数点数について
●指数部の表現方法 ・2の補数を使う場合 101.011 → 0.101011 × 23 指数部は3 → 00000011 0.00101 → 0.101 × 2-2 指数部は-2 → 11111110 ・イクセスを使う場合 101.011 → 0.101011 × 23 指数部は3 → 3 + 127 = 130 → 10000010 0.00101 → 0.101 × 2-2 指数部は-2 → -2 + 127 = 125 → 10000001 の2種類の求め方があるみたいですが、どちらの指数部を使ってもよろしいのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
その「浮動小数点数」を処理する側で合意が取れていれば、どの方法を使っても全然問題はありません。 どちらを使うかは、「ソフトウェアの仕様をどう決めるか」という仕様策定の問題ですし、 仕様上どちらかに決められているなら、それに従わなければいけないだけです。 ちなみに、浮動小数点数表現の規格である IEEE754 の場合 http://ja.wikipedia.org/wiki/IEEE_754 エクセスを採用しています。 ただし、仮数部の表現が質問者さんとは異なり、 最上位桁が1の位になるようにし、仮数部の1の位はかならず1なので記録しません。 例えば、float(32bit)の場合、符号1bit指数部8bit仮数部23bitなので、 101.011=1.01011×2^2 正なので符号は0 指数部は2+127=129 仮数部は .01011 を記録 → 0 10000001 01011000000000000000000 0.00101=1.01×2^-3 正なので符号は0 指数部は-3+127=124 仮数部は .01を記録 → 0 01111100 01000000000000000000000 となります。