7

IEEE754で表される最大浮動小数点数は次のとおりかどうか疑問に思います。

(1.11111111111111111111111)_b*2^[(11111111)_b-127]

ここで_bは、バイナリ表現を意味します。しかし、その値はであり、これは、たとえばによって与えられると3.403201383*10^38は異なります。フレームワークでは表現可能で大きくありません か?3.402823669*10^38(1.0)_b*2^[(11111111)_b-127]c++ <limits>(1.11111111111111111111111)_b*2^[(11111111)_b-127]

誰かが理由を知っていますか?

ありがとうございました。

4

2 に答える 2

9

指数11111111bは無限大とNaN用に予約されているため、数値を表すことはできません。

単精度で表すことができる最大値、約3.4028235×10 38は、実際には1.11111111111111111111111b × 211111110b - 127です

http://en.wikipedia.org/wiki/Single-precision_floating-point_formatも参照してください。

于 2012-04-19T18:46:07.620 に答える
1

m」の仮数と「e」の指数であるため、答えは次のとおりです。

ここに画像の説明を入力してください

あなたの場合、IEEE754のビット数が次の場合:

  • 符号用に1、指数用に6、仮数用に11の16ビットがあります。表示される最大数は4,293,918,720です。
  • 32ビットは、符号用に1、指数用に8、仮数用に23です。表示される最大数は3.402823466E38です
  • 64ビットは、符号用に1、指数用に11、仮数用に52です。表示される最大数は2^1024-2^971です。
于 2019-06-16T15:59:09.073 に答える