c语言的数据类型带符号,【c语言】有符号数据类型与无符号数据类型的计算

本文通过C语言示例代码详细展示了有符号和无符号数据类型在进行运算时的不同表现,包括类型转换和溢出处理等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

// 有符号数据类型与无符号数据类型的计算

#include

int main()

{

char c;// -128~127

unsigned char uc;//0~255

unsigned short us;// 0~65535

c = 128;

uc = 128;

// 字符型给短整型赋值有默认的类型提升,前边八位补其符号位

us = c + uc;

// us = -128 + 128 = 0即1111 1111 1000 0000 + 0000 0000 1000 0000 = 1 0000 0000 0000 0000即0x0

printf("0x%x\n", us);

us = (unsigned char)c + uc;//c:0~255

// us = 128 + 128 = 256即0000 0000 1000 0000 + 0000 0000 1000 0000 = 0000 0001 0000 0000即0x100

printf("0x%x\n", us);

us = c + (char)uc;// uc:-128~127

// us = -128 -128 = -256即1111 1111 1000 0000 + 1111 1111 1000 0000 = 1 1111 1111 0000 0000即0xff00

printf("0x%x\n", us);

return 0;

}

原文:http://blog.youkuaiyun.com/zhaoyaqian552/article/details/45584683

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值