第三章 数据和C
整数
1.如何选择需要使用的整数类型
C语言只规定了short存储的空间不能多于int,long存储空间不能少于int。目前个人计算机最常见的设置是long long占64位,long占32位,short占16位,int占16位或者32位。
选取的原则如下:
- 如果是非负值,首先考虑unsigned类型,因为它可以表示更大的整数
- 如果超出了int类型的取值范围,但又在long类型的取值范围内,那么应该使用long。
- 当确实需要32位整数时,请使用long。同理,如果确实需要64位整数,那么应该使用long long类型。
2. 和 long long常量
要把一个较小的常量作为long类型对待时,可以在值的末尾加上L
后缀(小写的l不容易和数字1区分)。在支持long long的系统中,可以在值的末尾加上LL
区分long long类型。
3.注意整数溢出问题
当整数超过其类型所能表示的范围时,就会发生整数溢出的问题:
#include<stdio.h>
int main(void)
{
int i;
i = 2147483647;
printf("%d %d %d\n", i, i+1, i+2);
unsigned int j;
j = 4294967295;
printf("%u %u %u\n", j, j+1, j+2);
}
输出结果为: