Logo

郎哥编程

第8讲:整数类型

2025-12-06 23

整数类型有int、short int、long int三种类型,用于需要不同存储空间的整数使用。整数类型有正整数和负整数之分,在C语言中,规定整型的最高位为符号位,最高位为“0”表示正数,最高位为“1”表示负数,其它位表示数值。因此整型类型的数据能够表示的最小值为:-2n-1 —2n-1-1(n为该类型所占存储空间的二进制位数)。

有符号整数

C语言对int、short int、long int并没有严格规定其长度(占用存储空间的字节数),只做了宽泛的限制:short 至少占用 2 个字节;int 建议为一个机器字长。32 位环境下机器字长为 4 字节,64 位环境下机器字长为 8 字节;short 的长度不能大于 int,long 的长度不能小于 int。

由此可见,short 并不一定真的”短“,long 也并不一定真的”长“,它们有可能和 int 占用相同的字节数。

在 16 位系统下,short 的长度为 2 个字节,int 也为 2 个字节,long 为 4 个字节。在32位系统下,short 的长度为 2 个字节,int 为 4 个字节,long 也为 4 个字节。

无符号整数

前面讨论的都是有符号整数,可以表示正负数。若只需要处理正整数,可以在上述类型关键字前面添加unsigned关键字表示无符号整数,两个关键字用空格隔开,因为不需要符号位,因此无符号整数表示的范围为:0 —2n-1。下表列出了符号整数的类型。

类型

存储空间

描述

系统位数

unsigned int

2~4字节

无符号整型

16位或32位系统

unsigned short

2字节

无符号短整型

16位或32位系统

unsigned long

4字节

无符号长整型

16位或32位系统

整型变量

整型变量可按如下方式声明:

int  pageNumber;
long int  size;
short   age;
unsigned short  readCount;

在一条语句中,可以声明多个同一类型的整型变量,每个变量之间用逗号分隔:

int  pageNumber, likeNumber,readCount;

整型变量可按如下方式初始化:

int   pageNumber=230;
short  age = 21;
unsigned short  readCount=1260;

整型常量

在初始化变量或为变量赋值时,常常会用到一些数值,这些值通常称为数值常量。C语言中整型常量有三种不同的表示形式:十进制、八进制和十六进制。

八进制整型常量:在八进制数值前面加前缀数字0,其数码取值为0—7,例如:023、0457、01329等;

十六进制整型常量:前缀为“0X”或“0x”,数码取值0—9、A—F、或a—f。例如:0X2A、0XA0、0Xffff等;

十进制整型常量:既无前缀也无后缀。例如:236、56、7890等。

在整型数值常量后面可以添加u或U(unsigned)、l或L(long)、u/U与l/L的组合(如:ul、lu、Lu等),表示该数值常量的类型。例:100u; 123u; 0x123L;

代码在线纠错(通义千问 qwen-max)

支持粘贴多个代码文件,提交后由阿里云通义千问自动分析代码漏洞、语法错误、逻辑问题并给出修改建议。
您已解锁 AI 代码纠错功能,可正常使用!

评论区

登录 后发表评论
暂无评论