C语言整数存储

在C语言中,整数的存储涉及数据类型、存储方式和字节顺序等方面的知识,以下是详细介绍:

 

数据类型

 

- 基本整数类型:有 char 、 short 、 int 、 long 、 long long 等。通常 char 占1个字节, short 占2个字节, int 一般占4个字节, long 在32位系统占4个字节,64位系统占64个字节, long long 占8个字节。

 

- 无符号整数类型:在上述类型前加 unsigned ,如 unsigned char 、 unsigned int 等,无符号整数只能表示非负整数,取值范围是0到2的n次方减1,n为该类型占用的位数。

 

存储方式

 

- 原码:最高位为符号位,0表示正数,1表示负数,其余位表示数值的绝对值。如8位 int 型的5的原码是00000101,-5的原码是10000101。

 

- 反码:正数的反码与原码相同,负数的反码是在原码的基础上,符号位不变,其余位取反。如-5的反码是11111010。

 

- 补码:C语言中整数通常以补码形式存储。正数的补码与原码相同,负数的补码是在反码的基础上加1。如-5的补码是11111011。使用补码可将减法运算转换为加法运算,简化计算机的运算电路。

 

字节顺序

 

- 大端序:数据的高位字节存于低地址,低位字节存于高地址。如对于32位整数0x12345678,高位字节0x12存于内存低地址,接着依次是0x34、0x56、0x78存于更高地址。

 

- 小端序:与大端序相反,数据的低位字节存于低地址,高位字节存于高地址。对于0x12345678,在小端序中,0x78存于内存低地址,接着是0x56、0x34、0x12存于更高地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值