天天看點

C語言China所占位元組數,JAVA基本資料類型所占位元組數是多少?

byte     1位元組

short    2位元組

int      4位元組

long     8位元組

char     2位元組(C語言中是1位元組)可以存儲一個漢字

float    4位元組

double   8位元組

boolean  false/true(理論上占用1bit,1/8位元組,實際處理按1byte處理)

JAVA是采用Unicode編碼。每一個位元組占8位。你電腦系統應該是 32位系統,這樣每個int就是 4個位元組

其中一個位元組由8個二進制位組成

Java一共有8種基本資料類型(原始資料類型):

類型 存儲要求 範圍(包含) 預設值 包裝類

整 int 4位元組(32位) -231~ 231-1 0 Integer

數 short 2位元組(16位) -215~215-1 0 Short

類 long 8位元組(64位) -263~263-1 0 Long

型 byte 1位元組(8位) -27~27-1 0 Byte

浮點 float 4位元組(32位) -3.4e+38 ~ 3.4e+38 0.0f Float

類型 double 8位元組(64位) -1.7e+308 ~ 1.7e+308 0 Double

字元 char 2位元組(16位) u0000~uFFFF(‘’~‘?’) ‘0’ Character

(0~216-1(65535))

布爾 boolean 1/8位元組(1位) true, false FALSE Boolean

在移動開發中由于移動裝置記憶體的局限性,往往需要考慮使用的資料類型所占用的位元組數。下面簡單介紹下Java中幾種基本資料類型,以加深記憶。

在Java中一共有8種基本資料類型,其中有4種整型,2種浮點類型,1種用于表示Unicode編碼的字元單元的字元類型和1種用于表示真值的boolean類型。(一個位元組等于8個bit)

1.整型

類型              存儲需求     bit數    取值範圍      備注

int                 4位元組           4*8

short             2位元組           2*8    -32768~32767

long              8位元組           8*8

byte              1位元組           1*8     -128~127

2.浮點型

類型              存儲需求     bit數    取值範圍      備注

float              4位元組           4*8                  float類型的數值有一個字尾F(例如:3.14F)

double          8位元組           8*8                       沒有字尾F的浮點數值(如3.14)預設為double類型

3.char類型

類型              存儲需求     bit數     取值範圍      備注

char              2位元組          2*8

4.boolean類型

類型              存儲需求    bit數    取值範圍      備注

boolean        1位元組          1*8      false、true

補充:Java有一個能夠表示任意精度的算書包,通常稱為“大數值”(big number)。雖然被稱為大數值,但它并不是一種Java類型,而是一個Java對象。

如果基本的整數和浮點數精度不能夠滿足需求,那麼可以使用java.math包中的兩個很有用的類:BigIntegerBigDecimal(Android SDK中也包含了java.math包以及這兩個類)這兩個類可以處理包含任意長度數字序列的數值。BigInteger類實作了任意精度的整數運算,BigDecimal實作了任意精度的浮點數運算。具體的用法可以參見Java API。

http://blog.csdn.net/witsmakemen/article/details/8974200

int常見為4個位元組,跟作業系統有關系。

turbo c(以及Turbo c的一些衍生編譯器,他們用的一套編譯程式)是dos時代的編譯器,是上世紀80年代的産物,嚴重過時,屬于老掉牙的産品,他們編譯出來的程式是16位作業系統dos下的程式,是以長度為16位,即兩個位元組。windows為了相容dos,是以turbo c生成的檔案也可以在windows中運作。

其他一般就都是4個位元組了。

作業系統16位的時候,int 2位元組,作業系統32位的時候,int 4位元組,由于32位系統之前占主流地位,實際現在就算是64位系統,出于相容性考慮,int也是4位元組的