微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 数据类型强制转换问题 IAR STM8 2.10.4

数据类型强制转换问题 IAR STM8 2.10.4

时间:10-02 整理:3721RD 点击:
unsigned char a;
unsigned int b;
b=0x999;
a=(unisgned char)b;
最后a的结果为什么是0?
不解,应该怎么写才对?
IAR STM8 2.10.4

这应该就是编译器的问题了,
如果程序改成这样:
unsigned int a;
unsigned int b;
b=0x999;
a=(unsigned char)b;
这样a的结果等于0x99

另外,同样的程序
unsigned char a;
unsigned int b;
b=0x999;
a=(unsigned char)b;
在MPLAB IDE8.92 + PICC9.83环境下仿真
a的结果等于0x99

无符号char最大存放的数字是255,你的已经溢出了

就是要它溢出,溢出部分不分了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top