IAR 9.3 for 8051 怎么不能强制类型转换了。。

25425564 2016-08-29 07:42:59
今天,我用
int a;
double x;
x是一个变量,
为什么 a=(int)x;
a显示等于0呢? 求解
...全文
1110 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lbing7 2016-10-14
  • 打赏
  • 举报
回复
有可能是变量没有意义,编译器帮你优化了。声明加volatile试试
码路边的发糕 2016-09-20
  • 打赏
  • 举报
回复
我遇到问题是这样 unsigned char a; unsigned int b; b=0x999; a=(unisgned char)b; 这样运行结果不应该是a=0x99吗?我仿真的结果是a=0,我哪里写得不对? IAR STM8 2.10.4
Quan略略略 2016-09-19
  • 打赏
  • 举报
回复
x的值超过int的表示范围了,并且int能表示的部分都是0。我也只是猜测。
25425564 2016-09-16
  • 打赏
  • 举报
回复
引用 1 楼 cos12a 的回复:
x值是什么?你确认不为0或强制类型转换后不为0?
x值为无符号整数。
schlafenhamster 2016-09-16
  • 打赏
  • 举报
回复
x的绝对值 《 1 吧 ?
熊已出没 2016-09-15
  • 打赏
  • 举报
回复
x值是什么?你确认不为0或强制类型转换后不为0?

27,382

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧