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