C++中的int和char之间的转换问题

我以前就认为是这样的,比如inta;charb;a=(int)b;b=(char)a;可是这样转换出来的是错误的,何解啊;我知道char转换为int的可以这样a=b-'0... 我以前就认为是这样的,比如
int a;
char b;
a=(int)b;
b=(char)a;
可是这样转换出来的是错误的,何解啊;
我知道char转换为int的可以这样 a=b-'0';
还有其他的方法互相转换.
如果告诉我转化的机理那更好了,肯定加分
展开
 我来答
milinzidie
2009-08-26 · TA获得超过1687个赞
知道小有建树答主
回答量:1297
采纳率:0%
帮助的人:1165万
展开全部
a=b-'0' 得到的数字是 0和b 两个字母的机器代码的差别, 不是数学意义上的数字.

另外int是两个byte, char是一个. 也无法直接转换.

想转换字母和数字的话你可以试试系统程式 cTOi() 和 iTOc()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
徐良军
2009-08-26 · TA获得超过340个赞
知道小有建树答主
回答量:127
采纳率:0%
帮助的人:0
展开全部
在C++中,int转换为char称为隐式转换,char转换为int称为显式转换。隐式转换可直接转换,显示转换则要强制性转换,故b=a,可直接赋值,强制性转换则要指明转换类型,如:a=(int)b;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
manyfaces
2009-08-26 · TA获得超过1068个赞
知道小有建树答主
回答量:1808
采纳率:0%
帮助的人:982万
展开全部
转换其实是对应的ASCII码来显示的。比如char c=‘A’; int i= c;
那么i=65;是A对应的ASCII码。又比如 c = char(65);那么c就是A;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
踏岸寻柳
2009-08-26 · TA获得超过6912个赞
知道小有建树答主
回答量:1776
采纳率:0%
帮助的人:639万
展开全部
直接赋值即可,无须转换。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式