为什么keil里pow(10,2)的结果是99 啊?pow函数不是求平方吗
答案:2 悬赏:70 手机版
解决时间 2021-03-29 00:48
- 提问者网友:浩歌待明月
- 2021-03-28 01:14
为什么keil里pow(10,2)的结果是99 啊?pow函数不是求平方吗
最佳答案
- 五星知识达人网友:一袍清酒付
- 2021-03-28 02:13
貌似MATLAB里面keil是向下求整吧,所以10存储时<10(逼近10),那么它的平方也是逼近100,
你可以选一个pow(4,2)试试,4可以不损耗存储,所以结果应该就是16了追问是的,pow(4,2)返回了16,可是pow(5,2)返回了24……而且我想要的是10的平方的结果。还有其他求几次方的方法吗?在keil上?追答5也是不完全存储了,所以结果也是逼近25
能完全存储的是能被2^n(n=0,1,2.......)
你可以选一个pow(4,2)试试,4可以不损耗存储,所以结果应该就是16了追问是的,pow(4,2)返回了16,可是pow(5,2)返回了24……而且我想要的是10的平方的结果。还有其他求几次方的方法吗?在keil上?追答5也是不完全存储了,所以结果也是逼近25
能完全存储的是能被2^n(n=0,1,2.......)
全部回答
- 1楼网友:鸽屿
- 2021-03-28 02:45
pow(x,y)
求
x的y次方追问那为什么pow(10,1)返回为10,pow(10,2)返回的是99啊??追答8位的单片机 计算能力 有限......... 算浮点 很蛋疼的 直接用库函数会悲剧
要根据 8位 寄存器单个字节 特性设计算法的 .........
算个int 都要 把int 按字节拆成高低字节 分开计算
算 pow 函数 是 double ,而且 还分 小数、指数 更麻烦 ..........
求
x的y次方追问那为什么pow(10,1)返回为10,pow(10,2)返回的是99啊??追答8位的单片机 计算能力 有限......... 算浮点 很蛋疼的 直接用库函数会悲剧
要根据 8位 寄存器单个字节 特性设计算法的 .........
算个int 都要 把int 按字节拆成高低字节 分开计算
算 pow 函数 是 double ,而且 还分 小数、指数 更麻烦 ..........
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯