1. 程式人生 > 實用技巧 >C語言之資料型別①——整數型別

C語言之資料型別①——整數型別

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,而有無符號的區別主要體現在使用者。