独闷闷网

标题: 整型int和字符型char相互赋值,不会有问题吗?有什么规律?已解答。 [打印本页]

作者: jianhong_wu    时间: 2014-10-22 11:41
标题: 整型int和字符型char相互赋值,不会有问题吗?有什么规律?已解答。
本帖最后由 jianhong_wu 于 2014-10-22 13:51 编辑

曹健-江苏:
无符号整型和无符号字符型相互赋值,不会有问题吗?

鸿哥-深圳:
可以相互赋值,但是要掌握规律,否则容易出错。我帮你总结一个规律:
整形int是2个字节,字符型char是1个字节。
(1)当整形int赋值给字符型char时,只是把整形的低位字节数据赋值给了字符型char数据,比如:
unsigned int a=0x1234;
unsigned char b=0x56;
b=a;
那么赋值后b就是0x34.

(2)在c51编译器中,当字符型char赋值给整形int时,把字符型char数据赋值给了整形的低位字节数据,整形的低位字节数据被覆盖了,同时整形的高位字节数据会变成了0。比如:
unsigned int a=0x1234;
unsigned char b=0x56;
a=b;

那么赋值后a就是0x0056;


作者: 黑夜之狼    时间: 2014-10-22 11:54
受教了




欢迎光临 独闷闷网 (http://dumenmen.com/) Powered by Discuz! X3.2