更新時(shí)間:2020-07-06 16:21:14 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2698次
Java語(yǔ)言提供了八種基本類型。六種數(shù)字類型(四個(gè)整數(shù)型,兩個(gè)浮點(diǎn)型),一種字符類型,還有一種布爾型。
1、整數(shù):包括int,short,byte,long
2、浮點(diǎn)型:float,double
3、字符:char
4、布爾:boolean
注意!:表格里的^代表的是次方哈~
使用 Float 類 節(jié)省開(kāi)發(fā)時(shí)間
作者: Builder.com
2004-11-16 11:50 AM
即使你可能知道 IEEE 浮點(diǎn)數(shù),你可能也從來(lái)沒(méi)有逐個(gè)比特地處理過(guò)這類數(shù)據(jù)。下面我將向你展示如何逐個(gè)比特地處理 IEEE 浮點(diǎn)數(shù),下次在你的 Java 項(xiàng)目需要從比特序列創(chuàng)建浮點(diǎn)數(shù)時(shí),或者從浮點(diǎn)數(shù)創(chuàng)建比特序列時(shí),你就知道Float 類可以為完成這一工作。
IEEE 浮點(diǎn)數(shù)介紹
IEEE 754 浮點(diǎn)單精度數(shù)字格式定義了一個(gè)用于存儲(chǔ)浮點(diǎn)數(shù)的比特布局。在空比特布局中,一個(gè)比特留作符號(hào)位,八個(gè)比特留作指數(shù),23個(gè)比特留作尾數(shù)。這些比特是按最重 要比特到最不重要比特進(jìn)行排列的,如下例所示:
31? ? ? ? ? ? ? ? ? ? ? ? ? ? ?0
|? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |? ? ? ? ? ? ? ? ? ? ?
SEEEEEEEEMMMMMMMMMMMMMMMMMMMMMMM
其中:
S = 符號(hào)位
E = 指數(shù)
M = 尾數(shù)
你可以從 IEEE
你可以從IEEE的站點(diǎn)購(gòu)買一份IEEE浮點(diǎn)數(shù)的完整解釋。(如果在線搜索IEEE 754,你應(yīng)該可以找到免費(fèi)的版本。)
Float對(duì)Java社區(qū)的貢獻(xiàn)
下面的示例程序使用Float的兩個(gè)方法將一個(gè)浮點(diǎn)數(shù)轉(zhuǎn)成比特,然后又將這些比特轉(zhuǎn)成一個(gè)浮點(diǎn)數(shù)。
使用Float.floatToIntBits(float f)方法可以將一個(gè)浮點(diǎn)數(shù)轉(zhuǎn)成一個(gè)比特序列。這個(gè)方法返回一個(gè)32位整數(shù),表示你作為參數(shù)提供的浮點(diǎn)數(shù)的IEEE 754比特排列。
使用Float.intBitsToFloat(int bits)方法可以進(jìn)行反方向轉(zhuǎn)換。這個(gè)方法接受傳入的整數(shù)作為參數(shù),將這些比特轉(zhuǎn)成一個(gè)IEEE浮點(diǎn)數(shù)。
下面是示例程序:
public?class?BitsTip?{
????public?static?void?main(String?args[])?{
????????float?f?=?Float.parseFloat(args[0]);
????????int?bits?=?Float.floatToIntBits(f);
????????System.out.println("bits:?"?+?bits);
????????System.out.println("back?to?float:?"?+?Float.intBitsToFloat(bits));
????}
}
如果你曾經(jīng)必須要手工進(jìn)行這種轉(zhuǎn)換,那么你就會(huì)很欣賞這兩個(gè)簡(jiǎn)單的方法為你節(jié)省的工作。如果你正在處理64位數(shù),那么可以選擇使用Double包裝器(wrapper)類。這個(gè)類提供同樣的方法處理IEEE 754雙精度浮點(diǎn)數(shù)。
最好選擇閱讀一下javadoc,查閱里面有關(guān)浮點(diǎn)數(shù)與比特序列之間的轉(zhuǎn)換的部分,以便完整地了解這些方法都能為你些做什么。
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java基本數(shù)據(jù)類型長(zhǎng)度解析”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)