C++中char和unsigned char的转换

 我来答
祁梅花赧妆
2019-11-22 · TA获得超过3.6万个赞
知道小有建树答主
回答量:1.4万
采纳率:25%
帮助的人:1005万
展开全部
首先,在C中,数据之间的运算必须是同类型的才能进行运算。如果类型不一致,就必须先转换成相同的类型----------由低级别


级别转换。
本题中,数据类型级别由低到高分别为:char→int→unsigned→long。转换时由低级别向高级别转换。
比如,有两个数的数据类型分别为:char型跟long型。
就要先char转换为long型(因为long级别比char高),再进行运算。
但是不能理解为:先将char转换成int,再转换成unsigned,再转换成long。
蒿素枝茅缎
2020-05-03 · TA获得超过3.6万个赞
知道小有建树答主
回答量:1.4万
采纳率:26%
帮助的人:628万
展开全部
char为字符类型。unsigned
char为无符号字符类型。
二者均是占一个字节,可以直接通过强制转换的方式,把char类型的值转为unsigned
char。
当定义变量:
unsigned
char
a;
char
b;
转换的形式为:
a
=
(unsigned
char)b;
当char类型的值为正时,转换后的值为原值。
当char类型为负时,原始值的符号位会转为数据位,即结果值为原始值补码代表的无符号值。具体计算公式为,
结果值=256+原始值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式