float型別的表現形式:
預設情況下,賦值運算子右側的實數被視為 double。 因此,應使用字尾 f 或 f 初始化浮點型變數,如以下示例中所示:
float x = 3.5f;
如果在以上宣告中不使用字尾,則會因為您嘗試將乙個 double值儲存到 float 變數中而發生編譯錯誤。
float的取值範圍
float占用4個位元組,和int是一樣,也就是32bit.
1bit(符號位) 8bits(指數字) 23bits(尾數字)
儲存方式如下圖:
取值範圍基本表達法
(浮點)數值 = 尾數 × 底數 ^ 指數,(附加正負號)
float的範圍為-2^128 ~ +2^128,也即-3.40e+38 ~ +3.40e+38;double的範圍為-2^1024 ~ +2^1024,也即-1.79e+308 ~ +1.79e+308
精度
float:2^23 = 8388608,一共七位,這意味著最多能有7位有效數字,但絕對能保證的為6位,也即float的精度為6~7位有效數字;
(浮點)數值 = 尾數 × 底數 ^ 指數,(附加正負號)
十進位制小數如何轉化為二進位制數
演算法是乘以2直到沒有了小數為止。舉個例子,0.9表示成二進位制數
0.9*2=1.8 取整數部分 1
0.8(1.8的小數部分)*2=1.6 取整數部分 1
0.6*2=1.2 取整數部分 1
0.2*2=0.4 取整數部分 0
0.4*2=0.8 取整數部分 0
0.8*2=1.6 取整數部分 1
0.6*2=1.2 取整數部分 0
......... 0.9二進位制表示為(從上往下): 1100100100100......
注意:上面的計算過程迴圈了,也就是說*2永遠不可能消滅小數部分,這樣演算法將無限下去。很顯然,小數的二進位制表示有時是不可能精確的
。其實道理很簡單,十進位制系統中能不能準確表示出1/3呢?同樣二進位制系統也無法準確表示1/10。這也就解釋了為什麼浮點型減法出現了"減不盡"的精度丟失問題。
float詳解 聖杯布局
雖然現在有了flex彈性盒子模型,很多布局效果都可以通過flex盒子來實現,但由於flex盒子模型的相容性不容樂觀 ie至少要10才能支援flex,所以還是很有必要學習float流式布局的 正常的塊級元素的布局是這樣的 文字代表元素的float屬性 對於float布局要記住 1.如果浮動元素的上乙個...
float詳解和方法floatToInt
浮點型變數在計算機記憶體中占用4位元組 byte 即32 bit。遵循ieee 754格式標準。乙個浮點數由2部分組成 底數m 和 指數e。mantissa 2exponent 注意,公式中的mantissa 和 exponent使用二進位制表示 底數部分 使用 進製數來表示此浮點數的實際值。指數部...
CSS浮動屬性Float詳解
float 是 css 的定位屬性。在傳統的印刷布局中,文字可以按照需要圍繞。一般把這種方式稱為 文字環繞 在網頁設計中,應用了css的float屬性的頁面元素就像在印刷布局裡面的被文字包圍的一樣。浮動的元素仍然是網頁流的一部分。這與使用絕對 定位的頁面元素相比是乙個明顯的不同。絕對定位的頁面元素被...