C语言——整型数据类型
一、整型数据类型
int
short
unsigned short
unsigned int
long int
unsigned long int
long long int
unsigned long long int
二、整型数据类型的判定
影响整型数据类型的因素:
1、基数(进制)
2、后缀
3、数值大小
1、进制:
(1)二进制(binary)
开头可以是0或1,0表示正数,1表示负数,由数字0~1组成,例如1010、1111等
(2)八进制(octal)
0开头后面是数字0~7,例如07766、07654等
(3)十进制(decimal)
由数字0~9组成,例如1782、7894等
(4)十六进制(hexadecimal)
开头是0x或0X,由数字0~9和字母a~f(A~F)组成,例如0x7777、0X77a7(0X77A7)
2、后缀
整数常量有后缀,用来指定最小数据类型
后缀 | 对应最小数据类型 |
U/u | unsigned int |
L/l | long int |
LL/ll | long long int |
U/u和L/l组合 | unsigned long int |
U/u和LL/ll组合 | unsigned long long int |
整型常量是非负的,-1中,1为数值,-是负号运算符。
3、数值大小
及数字的大小在的范围对应的最小类型。
三、如何判定
C99的标准
假设,int、long、long long分别使用2、4、8字节的补码实现
输入的整型常量会从指定的最小的类型开始尝试,直到有可以适应它的类型。
例如:143567
他没有后缀切实十进制数,所以对照表格他是从int类型开始尝试,但超出了int类型的范围,在尝试long int类型,在long int类型范围内,所以是long int类型。
再如:0x777777U
他是十六进制无符号整型,对照表格开始从unsigned int开始尝试,超出unsigned int类型范围,尝试unsigned long int类型,在unsigned long int类型范围内,所以是unsigned long int类型。
又如:9999999999L
他是十进制整型,且有L后缀,所以对照表格,开始从long int尝试,超出范围,尝试long long int,符合范围,所以是long long int类型。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!