1. 程式人生 > >Java基本資料型別大小

Java基本資料型別大小

Java語言提供了八種基本型別。六種數字型別(四個整數型,兩個浮點型),一種字元型別,還有一種布林型。 
1、整數:包括int,short,byte,long 
2、浮點型:float,double 
3、字元:char 
4、布林:boolean

基本型別 大小 最小值 最大值
boolean ----- ----- ------
char 16-bit Unicode 0 Unicode 2^16-1
byte 8-bit -128 +127
short 16-bit -2^15 +2^15-1
int 32-bit -2^31 +2^31-1
long 64-bit -2^63 +2^63-1
float 32-bit IEEE754 IEEE754
double 64-bit IEEE754 IEEE754
void

注意!:表格裡的^代表的是次方哈~

使用 Float 類 節省開發時間 
作者: Builder.com 
2004-11-16 11:50 AM

即使你可能知道 IEEE 浮點數,你可能也從來沒有逐個位元地處理過這類資料。下面我將向你展示如何逐個位元地處理 IEEE 浮點數,下次在你的 Java 專案需要從位元序列建立浮點數時,或者從浮點數建立位元序列時,你就知道Float 類可以為完成這一工作。

IEEE 浮點數介紹

IEEE 754 浮點單精度數字格式定義了一個用於儲存浮點數的位元佈局。在空位元佈局中,一個位元留作符號位,八個位元留作指數,23個位元留作尾數。這些位元是按最重 要位元到最不重要位元進行排列的,如下例所示:



31                             0
|                              |                      
SEEEEEEEEMMMMMMMMMMMMMMMMMMMMMMM

其中:

S = 符號位
E = 指數
M = 尾數

你可以從 IEEE 的站點購買一份 IEEE 浮點數的完整解釋。(如果線上搜尋 IEEE 754,你應該可以找到免費的版本。)

Float 對 Java 社群的貢獻

下面的示例程式使用 Float 的兩個方法將一個浮點數轉成位元,然後又將這些位元轉成一個浮點數。

使用Float.floatToIntBits(float f) 方法可以將一個浮點數轉成一個位元序列。這個方法返回一個32位整數,表示你作為引數提供的浮點數的 IEEE 754 位元排列。

使用Float.intBitsToFloat(int bits) 方法可以進行反方向轉換。這個方法接受傳入的整數作為引數,將這些位元轉成一個 IEEE 浮點數。

下面是示例程式:

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));
    }
}

如果你曾經必須要手工進行這種轉換,那麼你就會很欣賞這兩個簡單的方法為你節省的工作。如果你正在處理64位數,那麼可以選擇使用Double 包裝器(wrapper)類。這個類提供同樣的方法處理IEEE 754 雙精度浮點數。

最好選擇閱讀一下javadoc,查閱裡面有關浮點數與位元序列之間的轉換的部分,以便完整地瞭解這些方法都能為你些做什麼。