http://www.ithao123.cn/content-10074709.html
long整型數(shù),在內(nèi)存中占用8個字節(jié)共64位,它表示的數(shù)值有2的64次方,平分正負(fù),數(shù)值范圍是負(fù)2的63次方到正2的63次方-1。
而float在內(nèi)存中占4個字節(jié),共32位,但是浮點(diǎn)數(shù)在內(nèi)存中是這樣的:
V=(-1)^s?*?M?*?2^E

浮點(diǎn)數(shù)的32位不是簡單的直接表示大小,而是按照一定的標(biāo)準(zhǔn)分配的。
其中第1位,符號位,即S。
接下來的8位,指數(shù)域,即E。
剩下的23位,小數(shù)域,即M,M的取值范圍為[1,2)或[0,1)。
也就是說,浮點(diǎn)數(shù)在內(nèi)存中的二進(jìn)制值不是直接轉(zhuǎn)換為十進(jìn)制數(shù)值的,而是按照上述公式計算而來,通過這個公式,雖然只用到了4個字節(jié),但是浮點(diǎn)數(shù)卻比長整型的最大值要大。
這也就是為什么在數(shù)據(jù)轉(zhuǎn)換的時候,long類型轉(zhuǎn)換為float類型的根本原因所在!