1. 程式人生 > >關於int、short int、long int、long long 的區別

關於int、short int、long int、long long 的區別

  • 早期的作業系統是16位系統,
    int用二位元組表示,範圍是-32768~32767;
    long用4位元組表示,範圍是-2147483648~2147483647。
  • 後來發展到32位作業系統,
    int 用4位元組表示,與long相同。
  • 目前的作業系統已發展到64位作業系統,但因程式編譯工藝的不同,兩者表現出不同的差別:
    32位編譯系統:int佔四位元組,與long相同。
    64位編譯系統:int佔四位元組,long佔8位元組,long資料範圍變為:-2^63~2^63-1

在標準中,並沒有規定long一定要比int長,也沒有規定short要比int短。
標準是這麼說的:長整型至少和整型一樣長,整型至少和短整型一樣長。
這個的規則同樣適用於浮點型long double至少和double一樣長,double至少和float一樣長。
至於如何實現要看編譯器廠商.

1. short<=int<=long

short int  2個位元組

int 2/4位元組

long 4/8位元組

long long 8位元組

2. 關於long long
(1)long long,長度為8個位元組;
(2)visual c++ 6.0中不支援,long long int,是在vc99中新增此功能的,所以我們在vc6.0中編譯有long long 的資料時,會出錯,但是在VS更高的版本中,是能通過的。