數據類型

什麼是數據類型?

數據集合的劃分,不同數據類型對CPU的意義是不一樣的。

數據類型有哪些?

數據類型分爲兩大類:基本數據類型和複合數據類型。基本數據類型分爲:空類型,字符型和數值型。複合數據類型分爲:數組,結構體,聯合體,枚舉類型,指針類型。 其中數值類型分爲:實型,整型。實型分爲:單精度實型,雙精度實型。整型分爲:短整型,整型,長整型。其中每個又分爲:有符號,無符號。

字節長度

字節長度:變量所佔內存空間的大小,具體大小跟編譯器有關。
bit:位,多少個0,1就是多少位;
字節 = 8bit;
字:以32位處理器爲例, = 4個字節 = 32bit;
半字:= 2個字節 = 16 bir。

測量字節的方法:sizeof(),sizeof()不是函數,是一個運算符,測量一個變量或者數據類型所佔的字節長度。
對於變量而言,有兩種寫法:int num; sizeof (num),或者sizeof num;
對於數據類型而言,只有一種寫法:sizeof(int);

基本數據類型的字節長度:
int 4個字節,short 2個字節,long 4個字節;
float 4個字節,double 8個字節;
char 1個字節,指針 4個字節;

sizeof,strlen區別:
sizeof:運算符;計算字節長度時加’\0’;
strlen:函數;統計字符串長度時不加’\0’。

取值範圍

無符號:8位都是有效數據;
有符號:最高位是符號位,其餘七位是有效數據位。

unsigned char:0~255;
signed char:-128~127;
怎麼算的?
就無符號字符型而言,最小爲8位都是0即十進制0,最大爲8位都是1即十進制2^8-1=255;
就有符號而言,當符號位爲0時即爲正數的時候,最小爲後面7個0即爲十進制0,最大爲後面7個1即爲十進制2^7-1=127;當符號位爲1時,最小爲後面7個0,其原碼爲1後面7個0即爲-128,最大爲1後面7個1,其原碼爲1000 0001 即爲-1。綜上範圍爲:-128~127。

當取值範圍溢出時:
有符號字符型:
-128 -1 = 127;
127 + 1 = -128;
無符號字符型:
0 - 1 = 255;
255 + 1 = 0;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章