这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 使用MDK3.80编译调试STM32的问题

共3条 1/1 1 跳转至

使用MDK3.80编译调试STM32的问题

菜鸟
2015-01-13 16:46:03     打赏

最近在产品测试中发现总有一个数值对应理论值不对,经单步调试发现固定值直接除以32767与固定值右移15位所得的结果不同,如下:

Var_Reg[0]=(INT32S)(200*0xDFF0) / 32767.0;

Var_Reg[1]=(INT32S)(200*0xDFF0) >>15;

第一个式子所得的结果是-50;而第二个结果得到的结果竟是-51;

请求各位大侠帮忙释疑!


专家
2015-01-13 18:17:28     打赏
2楼
可能是除不尽的, 编译器有的时候会四舍五入。

专家
2015-01-13 18:51:09     打赏
3楼

>>15  为2^15=32768

数组零为37767

我按照16进位数计算不出来是-50 -51


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]