![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5iY5gTNmRmZ5UWOxAzNkdjZlJjZwYGO1QTZwEmMjlDMz8CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
早期的作業系統是16位系統,
- int 用2位元組表示,範圍是-2^15 ~ 2^15-1;
- long 用4位元組表示,範圍是-2^31 ~ 2^31-1。
後來發展到32位作業系統,
- int 用4位元組表示,範圍是-2^31 ~ 2^31-1;
- long 與 int 相同,也用4位元組表示,範圍是-2^31 ~ 2^31-1。
現在作業系統已發展到64位作業系統,但也有所差别:
- 32位編譯系統:int占4位元組,與long相同,範圍是-2^31 ~ 2^31-1。
- 64位編譯系統:int占4位元組,long占8位元組,long資料範圍變為:-2^63~2^63-1
下圖是在64位編譯系統上的結果:
cppreference 給出的定義如下:
- int:basic integer type. It’s guaranteed t