C语言——整型数据类型

2023-12-16 07:04:46

一、整型数据类型

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/uunsigned int
L/llong int
LL/lllong 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类型。

文章来源:https://blog.csdn.net/stewie6/article/details/134958303
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。