C語言中 int、long、long long 的存儲空間和值的范圍


​ 在剛接觸整型數據的存儲空間和值的范圍時,感覺這東西好無聊,應該沒什么用吧!不過,現在,不得不承認,這東西真的很有用。在編寫程序時,有些時候需要考慮數據規模,這個時候就能深切的體會到下面這個表格的用途了。例如,有些參加過程序設計競賽的朋友應該知道,題目中是有測試數據規模要求的。

類型 字節數 取值范圍
int 2 - 32768 ~ 32767 (5位十進制數)
int 4 - 2147483648 ~ 2147483647 (10位十進制數)
unsignde int 2 0 ~ 65535 (5位十進制數)
unsignde int 4 0 ~ 4294967295 (10位十進制數)
short 2 - 32768 ~ 32767 (5位十進制數)
unsigned short 2 0 ~ 65535 (5位十進制數)
long 4 - 2147483648 ~ 2147483647 (10位十進制數)
usigned long 4 0 ~ 4294967295 (10位十進制數)
long long 8 - 9223372036854775808 ~ 9223372036854775807(20位十進制數)
unsigned long long 8 0 ~ 18446744073709551615 (20位十進制數)

解釋:

​ 1、編譯系統給int型數據分配的內存可能是2個字節或是4個字節,具體由編譯系統自行決定。例如:Turbo C 2.0分配的是2個字節,而Visual C++則分配4個字節。

​ 2、在編程考慮數據規模時,如果記不清楚具體數值范圍,可根據十進制位數來決定使用什么類型。例如:當需要存儲一個大小為100 000 000 0的數時,可以選擇大於等於10位十進制數范圍的類型,如long、long long 等。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM