首页 新闻 会员 周边 捐助

c 有符号与无符号之间的转换

0
[已解决问题] 解决于 2017-11-10 11:06

不太明白为什么结果是这个,求指教,万分感谢

ZengGW的主页 ZengGW | 初学一级 | 园豆:10
提问于:2017-07-27 11:41
< >
分享
最佳答案
-1

我觉得应该是(unsigned char)-2147483648

因为:

一个字符变量c,使用(unsigned)c就可以得到与c等价的无符号整数,这是失败的。因为在将字符c转化为无符号整数时,c将首先被转化为int型整数,而此时可能得到非预期的结果。

        正确的方式是使用(unsigned char)c,因为一个unsigned char类型的字符在转化为无符号整数时无需首先转化为int型整数,而是直接进行转化。

转自:http://blog.csdn.net/liuhuiyi/article/details/17509479

奖励园豆:5
金琥 | 老鸟四级 |园豆:2605 | 2017-07-27 16:03
其他回答(3)
1

想打印出无符号数应该使用格式化参数%u吧?

大杯美式不加糖不加奶 | 园豆:1004 (小虾三级) | 2017-07-27 13:07
0

h换个别的数呢

吴瑞祥 | 园豆:29449 (高人七级) | 2017-07-27 13:48
0

同意楼上的

JCdon | 园豆:2 (初学一级) | 2017-07-27 17:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册