close
宣告bool(BOOLEAN值)
( 0 為 False , 1 為 True ,這種資料型態通常拿來做邏輯運算用)
宣告char(字元)
所占的記憶體是 1 byte = 8 bits
能夠承受的正數範圍: 0 ~ 127
能夠承受的負數範圍:-128 ~ -1
一個號碼代表一個字元,請參照ASCII表
宣告short int(短整數)
能夠承受的正數範圍: 0 ~ 32767
能夠承受的負數範圍:-32768 ~ -1
( 若宣告 unsigned short int ,則範圍是 0 ~ 65535 ,不含負數 )
宣告long int(長整數)
能夠承受的正數範圍: 0 ~ 2147483647
能夠承受的負數範圍:2147483648 ~ -1
( 若宣告 unsigned long int ,則範圍是 0 ~ 4294967295 ,不含負數 )
宣告float(單精準度浮點數,可以顯示小數點)
真正使用情況:
可以接受的數值範圍:3.4x10-38 ~ 3.4x10+38
浮點數是利用 IEEE 754 的標準來做的
裡面裝的雖然也是0101010...,但是會轉換成科學記號的格式,
-> 例如1010.1011 會轉換成 1.0101011 x (2^3)
前面第一個 bit 是用來表示正數或負數
黃色中間八個 bits 是用來記載科學記號的次方數,用Excess 127的形式
最後面24 bits 則是擺上原來的01010101資料
(詳細內容以後再寫一篇文章說明吧...)
宣告double(雙精準度浮點數,可以顯示小數點)
真正使用情況:
可以接受的數值範圍:1.7x10-308 ~ 1.7x10+308
double的原理和float是一樣的,只不過使用的空間大小不同,各欄位大小不同,所以能夠使用的數值也不同
特別注意的是
你的資料型態記憶體占了幾byte,就代表他在記憶體中占了幾個位址
例如, 占 4 bytes 的 int ,就占了四個位址
了解你的資料占多少記憶體空間,對寫程式很有幫助
例如:陣列
若是你宣告了一個 資料型態為 int 的陣列 ( 4 bytes )
那麼,如果你的 array[0] 的開頭在 Address 100 ,那麼 array[1] 的開頭就在 Address 104
全站熱搜
留言列表