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

来源:百度知道 编辑:UC知道 时间:2024/05/16 10:01:06
#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'.

int到char是ASC码啊?

char c=a,是将a代表的字符赋值给c.322转换成16进制就是B了。所以c=B
由于B的ASCII为66,故b=66

int是4位, char是1位(0-255), 322>255, 所以会被截断322%256就是66, 66对应的字符就是B