C語言之資料型別①——整數型別
阿新 • • 發佈:2020-07-28
C語言的變數型別:
1.整數型別的寬度
- char——8BIT,1位元組,0~0xFF
- short——16BIT,2位元組,0~0xFFFF
- int——32BIT,4位元組,0~0xFFFFFFFF
- long——32BIT,4位元組,0~0xFFFFFFFF
如:
char x=1; 儲存的值是:0000 0001
char y=-1; 儲存的值是:1111 1111
注意:int在16計算機中與short寬度一樣,在32以上的計算機中與long一樣
2.儲存格式:
3.資料溢位
資料溢位,是把高位捨棄還是低位捨棄?
實驗:
C程式碼:
執行轉反彙編:
因此:是捨棄高位
4.有符號數(signed)與無符號數(unsigned)
如定義一個有符號數:
signed char x=1;
x的寬度為: 0000 0000 ,由於最高位是符號位,所以當儲存正數時x儲存範圍是0-127;當儲存的值是負數時,儲存的範圍就是-128--1
反之如果是unsigned char;正數儲存的是0-255;且沒有負數的情況
對於計算機來說,有符號數與無符號數儲存時是沒有什麼區別的,如int x=-1;儲存到記憶體就是0xFFFFFFFF,而有無符號的區別主要體現在使用者。