1. 利用int为char赋值(char=int)
int类型可以直接赋值给char类型,但是由于int类型占4各字节,而char类型只占1个字节,所以,int类型只会截取最低一个字节位的数据赋值给char类型。而char则会将截取的int的值当作ASCII码,直接保存到内存中。如果输出char的话,则是输出ASCII码对应的字符。如下例所示:
int a = 304; //BIN: 0001 0011 0000
char b = a; //字符1的ascii码为 0011 0000
cout << b << endl; // 结果为1
2. 利用char为int赋值(int=char)
由于c++默认类型转换中char可以转成int,所以可以直接将字符赋值给int类型,这是int的值为char字符的ASCII码值。如下例所示:
int a = 'a'; // 'a'的ASCII值为97
cout << a << endl;// 结果为97
最后,有关默认类型转换和char运算的文章链接:
1. c++默认类型转换
2. char运算