浮點數 比喻1e1 e后面跟的是10的指數(也就是1的10次方,e表示10次方),f表示浮點數 1e1表示1×10¹,其實就是10 再例如5e2f,表示5×10²,也就是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