關於int、short int、long int、long long 的區別
阿新 • • 發佈:2019-02-05
- 早期的作業系統是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更高的版本中,是能通過的。