C语言中char类型的符号问题

        在 C 语言中,char 类型同样分无符号和有符号两种,默认是有符号,前面加 unsigned,则表示无符号。
        平时多在字符串处理中使用 char 类型,并默认使用有符号,这样用基本没问题,因为 ascii 码的范围在 0~127,使用有符号类型存储 ascii 码就够了。但在遇到一些特殊用法时,需要考虑符号问题,以免出现潜在的风险。

        例如:

int num = 128;  
char ch;
...
ch = num;
ch >>= 8;  // ch == -1 
...

        使用无符号 char:

int num = 128;
unsigned ch;
...
ch = num;
ch >>= 8;  // ch == 0 
...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值