首先,考虑unsigned类型。这种类型的数常用于计数,因为计数不用负数。而且unsigned类型可以表示更大的正数。

如果一个数超出了int类型的取值范围,且在long类型取值范围内时,使用long类型。然而,对于那些long占用空间比int大的系统,使用long类型会减慢运算速度。因此,如非必要,请不要使用long类型。另外要注意一点:如果在long类型和int类型占用空间相同的机器上编写代码,当确实需要32位的整数时,应使用long类型而不是int类型,以便把程序移植到16位机后仍然可以正常工作。类似地,如果确实需要64位整数,应使用long long类型。

如果在int设置为32位的系统中要使用16位的值,应使用short类型以节省存储空间。通常,只有当程序使用相对于系统可用内存较大的整数数组时,才需要重点考虑节省空间的问题。使用short类型的另一个原因是,计算机中某些组件使用的硬件寄存器是16位。

long常量和long long常量

通常,程序代码中使用的数字(如,2345)都被存储为int类型。如果使用100000这样的大数字,超出了int类型能表示的范围,编译器会将其视为long int类型(假设这种类型可以表示该数字)。如果数字超出了long可以表示的最大值,编译器将其视为unsigned long类型。如果还不够大,编译器则将其视为long long或unsigned long long类型(前提是编译器能识别这些类型)。


0 Comments latest

No comments.