2014-10-28 39 views
1

浮點值的範圍是3.4e-38到3.4e + 38。所以float變量不應該存儲負值。但浮動變量存儲負值。請解釋我。float變量如何存儲不在C++範圍內的負值?

#include<iostream.h> 
void main() 
{ float ab=-3.456; 
cout<<ab; } 

輸出: -3.456

在此先感謝。

+0

浮點數有一個標誌。閱讀http://floating-point-gui.de/ – 2014-10-28 06:32:09

+0

目前沒有使用常用的僅正浮點格式 – 2014-10-28 06:39:43

回答

1

範圍爲單精度浮點數是2 -126≈1.18×10 -38 (2-2 -23)×2 ≈3.4×10 38 正值和類似的,但反向負值:-3.4×10 38 -1.18×10 -38 因爲 IEEE-754採用符號 - 量值格式,其中符號位是存儲分別

瞭解更多關於它here

1

這些是最大最小的正值的值。

在內部表示,有1位符號(S),用於指數8 位(E),和用於級分(F)23位。比特 映射與分數位0至位22中,在比特 23的指數爲30位,而在比特的符號31.

More

0

基本上浮起,由三位數字的

significant * base^exponent 

重要部分和指數部分都可以有其單獨的符號。 因此,實際上浮動範圍是:

float 32 bits -3.4E+38 to +3.4E+38 about 7 decimal digits 

Floating point on wiki

IEEE standard