主要用來表示浮點數,表達方便
浮點數的科學計數,由三個部分組成:
a + E + b
a:由一個浮點數組成,如果寫成整數,編譯器會自動轉化為浮點數;
E:可以大寫E,也可以小寫e;
b:使用一個十進制整數表示冪方數,這個數可以是負數,也可以是正數,且正數可以省略正號,;
例如:1.0e1
e后面跟的是10的指數(也就是1的10次方,e表示10次方)
1e1表示1×101,其實就是10。
1.0e-3
e后面跟的是10的指數(也就是1的10次方,e表示10次方)
1.0e-3表示1×10-3,其實就是0.001。
1.e-3
省略了小數點后面的0,它的值與1.0e-3表示的值相等。
再例如
5e2f
其中f表示浮點數表示5×102,也就是500
========================================================================================================================
-1.56E+12 的常量表示法怎么計算?
理解為1.56的12次方的負數?也就是:-1560000000000?
-1.56*10^12=-1560000000000
理解為-1.56*10的12次方-1560000000000
========================================================================================================================
0.1101101111
+ 0.0000000001
---------------
0.110110000
因為在任何區間內(比如1.0和2.0之間)都存在無窮多個實數,所以計算機浮點數不能表示區域內所有的值。浮點數往往只是實際值的近似。例如7.0可能以浮點數值6.99999存儲。
解釋
十進制轉化為二進制的方法是 依次與2^(-n)作比較(n從1開始)
若大於該值則為1,且減去此值,否則為0;然后繼續下一輪比較
舉例說明:將0.842356轉換成二進制,你會發現比較將會是無窮無盡的。
如果你截取到某位,必須做一些取舍。取舍的標准是:其后一位若為1則進1;后一位為0則不進。
若要截取9位,因為第10位為0,故不進位,則最終的結果為:0.110101111;
若要截取到8位,因為第9位為1,故要進位,則最終的結果為:0.110110000(即0.1101101111 + 0.0000000001)。
從這個例子可以看出十進制小數的轉換成二進制時只是一個近似值。其實大部分浮點數保存在計算機中都只是一個近似值。至於是稍微大於原值還是稍微小於原值,要看截取時有無進位。
0.842356
0.110101111 0 1001001010010010001111100101101110000101011 截取第9位 第10位為0,所以不進位=0.110101111
0.11010111 1 01001001010010010001111100101101110000101011 截取第8位 第9位為1,所以進位 =0.110110000
