打印
[AVR单片机]

为什么pow(2,8)算出来总是255,pow(2,3)=7?

[复制链接]
3046|8
手机看帖
扫描二维码
随时随地手机跟帖
沙发
sea1105|  楼主 | 2011-9-12 17:17 | 只看该作者
求高手指点下迷津啊??可能是哪里出了问题??

使用特权

评论回复
板凳
mcuisp| | 2011-9-13 14:27 | 只看该作者
怎么算出来的?膝盖么?

使用特权

评论回复
地板
chen3bing| | 2011-9-13 14:34 | 只看该作者
加载math头文件了吗?

使用特权

评论回复
5
sea1105|  楼主 | 2011-9-14 18:15 | 只看该作者
4# chen3bing 加载了math.h和float.h两个浮点相关的头文件[size=11.000000pt]将pow函数算出来的值赋值给一个unsigned long变量,pow(2,8)就等于255了??   

使用特权

评论回复
6
sea1105|  楼主 | 2011-9-14 18:16 | 只看该作者
3# mcuisp ?????:L

使用特权

评论回复
7
chen3bing| | 2011-9-15 08:42 | 只看该作者
你用什么编译环境?我用WINAVR没问题呀!

使用特权

评论回复
8
z_zt| | 2011-9-16 17:29 | 只看该作者
我记得之前有看到,原因是你定义的变量类型和POW函数的不同,这个弄对了好象就对了。

使用特权

评论回复
9
uc_efm32| | 2011-9-16 18:14 | 只看该作者
为什么pow(2,8)算出来总是255,pow(2,3)=7?
-----------------------------------------------------------
你把小数点截断了。

int a=7.999999;
结果a是7,而不是8。

使用特权

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

本版积分规则

个人签名:25岁的我——年轻无极限! 30岁之前——实现梦想!

6

主题

54

帖子

0

粉丝