2017-11-13 12 views
-3

私はこれらの呪文に対する答えを理解したいと思っています:IEEE-754 Singleを使用して表現できる正規化されていない最大数とは何ですか?

IEEE-754シングルを使って表現できる正規化されていない最大数はいくらですか?

IEEE-754 Singleを使用して表現できる最大正規化数はいくらですか?これらの質問に対する答えを理解する

+1

最初のステップは、これらの浮動小数点数の表現方法を学習することです。次に、制限を工夫することができます。そうすることで、あなたは質問を理解し、自分で答えを出すことができます。敷地内を学ぶことによって直接始めることなく、質問に対する答えを理解することは、非現実的なように聞こえる... –

答えて

1

...:その8ビットバイアス指数とその23ビットの小数とのビットパターンとレビューIEEE-754 Single内数で

ルック。

また、16進の有意かつ10進の累乗指数で見てください。 Cでは、これはprintf("%a", x);


で行われるIEEE-754シングルを使用して表すことができる最大の正規化数とは何ですか?

v--------------------------------- Sign 
    v------v------------------------ 8 bit biased exponent - max value for finite numbers 
      v---------------------v Fraction part of 1.xxx...xxx significand - max value 
0 11111110 11111111111111111111111 

    v------v-------- All 23 bits of the encoded significand and the implied 1. 
      v-v--- Maximum exponent for finite numbers.  
0x1.fffffep+127 

In decimal 
printf("%.9e\n", pow(2,128) - pow(2,128-24)); 
3.402823466e+38 (approximate) 
340282346638528859811704183484516925440 (exact) 

最大のIEEE-754シングルを使用して表すことができない正規化数とは何ですか?

v--------------------------------- Sign 
    v------v------------------------ 8 bit minimum exponent - same as 1 - bias 
      v---------------------v Fraction part of 0.xxx...xxx significand - max value 
0 00000000 11111111111111111111111 

    v------v-------- All 23 bits of the encoded significand and no implied 1. 
      v-v--- Maximum exponent for finite numbers.  
0x1.fffffcp-127 

In decimal 
printf("%.9e\n", pow(2,-126) - pow(2,-126-23)); 
1.175494211e-38 (approximate) 

(exact) 
1.175494210692441075487029444849287348827052428745893333857174530571588870475618904265502351336181163787841796875e-38 

注:ほとんど必要正確な小数点以下の値がありません。可能なすべてのIEEE-754シングルを区別するのに十分な小数点以下の9桁の数値を四捨五入すれば十分です。

関連する問題