數據類型的轉換 long到float不需要強轉

低 ———————————————> 高
byte,short,char-> int -> long -> float -> double

低到高會自動轉換

long—>float並不需要強制轉換

但是float佔4個字節爲什麼比long佔8個字節大呢,因爲底層的實現方式不同。
浮點數的32位並不是簡單直接表示大小,而是按照一定標準分配的。 第1位,符號位,即S 接下來8位,指數域,即E。
剩下23位,小數域,即M,取值範圍爲[1 ,2 ) 或[0 , 1) 然後按照公式: V=(-1)^s * M * 2^E
也就是說浮點數在內存中的32位不是簡單地轉換爲十進制,而是通過公式來計算而來,通過這個公式雖然,只有4個字節,但浮點數最大值要比長整型的範圍要大。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章