打印

数据溢出

[复制链接]
588|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chenho|  楼主 | 2017-8-13 20:45 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
之前做了程序:

main()
{
        unsigned int a =2000;
        unsigned int b =3000;
        unsigned int c =0;
        c= a*100/b;
        while(1);
}
1、在51 keil下面测试  发现c的值不对 不是预想中的c=66结果,感觉是a*100已经大于整型的范围造成错误

2、但在stm32 iar下测试 发现c的值却是正确的?请问为什么?
沙发
chenho|  楼主 | 2017-8-13 20:52 | 显示全部楼层

iar  我使用 uint16_t   u16 替换unsigned int  
测试结果也是正常的  这个u16也是32位?

使用特权

评论回复
板凳
chenho|  楼主 | 2017-8-13 20:59 | 显示全部楼层

不明白,算了吧

使用特权

评论回复
地板
chenho|  楼主 | 2017-8-13 21:05 | 显示全部楼层
嗯,预料中的结果,先结贴吧,多谢大家啦

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

748

主题

9853

帖子

5

粉丝