c++中int向char转换的原理

#include<iostream.h>
main()
{
int a=322;
char c=a;
int b=c;
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
cout<<"c="<<c<<endl;
return 0;
}
运行出的结果是:
a=321
b=A
c=65

字符是站一个字节,并且是无符号的。因此如果整形大于256的话,就取余,即:n%256.这样322%256=66.因此进行转换的时候,char c=66;也就是'B'.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-11-04
int到char是ASC码啊?
第2个回答  2009-11-04
char c=a,是将a代表的字符赋值给c.322转换成16进制就是B了。所以c=B
由于B的ASCII为66,故b=66
第3个回答  2009-11-04
int是4位, char是1位(0-255), 322>255, 所以会被截断322%256就是66, 66对应的字符就是B
第4个回答  2020-09-12
直接用强制类型转换就行了比如
char
c
='0x04';
int
i
=(int)c;
相似回答