硬汉嵌入式论坛

 找回密码
 立即注册
查看: 863|回复: 7
收起左侧

[有问必答] 关于MDK实现电压转换压力(幂数运算)请教

[复制链接]

12

主题

22

回帖

58

积分

初级会员

积分
58
发表于 2022-12-14 17:20:55 | 显示全部楼层 |阅读模式
使用芯片:STM32F407IGT6
软件环境:MDK5.31
目的:实现模拟量电压转换压力。
P=10^(V-3)
遇到问题:在MDK或者C语言下,10^只能支持整数,如果用到 “math.h” 里的一个函数 “double pow(double, double)” ,
但这个函数也有其局限之处。这种局限主要体现在:它只能用于浮点数,对整型的幂运算并不能有效地解决。


下面图片为计算公式和转换特性图
image.png
image.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2022-12-15 13:52:13 | 显示全部楼层
这个pow函数形参是双精度浮点,足够用。
回复

使用道具 举报

77

主题

691

回帖

922

积分

金牌会员

积分
922
发表于 2022-12-16 16:13:54 | 显示全部楼层
对整型的幂运算并不能有效地解决 是什么意思?
回复

使用道具 举报

12

主题

22

回帖

58

积分

初级会员

积分
58
 楼主| 发表于 2022-12-17 21:57:59 | 显示全部楼层
eric2013 发表于 2022-12-15 13:52
这个pow函数形参是双精度浮点,足够用。

好的,谢谢了。我就是用的POW
回复

使用道具 举报

12

主题

22

回帖

58

积分

初级会员

积分
58
 楼主| 发表于 2022-12-17 21:58:40 | 显示全部楼层
庄永 发表于 2022-12-16 16:13
对整型的幂运算并不能有效地解决 是什么意思?

有时候会输出结果位,9999,比如像输出10000
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2022-12-18 09:58:57 | 显示全部楼层
951319804 发表于 2022-12-17 21:58
有时候会输出结果位,9999,比如像输出10000

四舍五入

浮点数的四舍五入C库函数round,roundf,roundl等使用说明
https://www.armbbs.cn/forum.php? ... 5156&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

12

主题

22

回帖

58

积分

初级会员

积分
58
 楼主| 发表于 2022-12-19 13:15:26 | 显示全部楼层
eric2013 发表于 2022-12-18 09:58
四舍五入

浮点数的四舍五入C库函数round,roundf,roundl等使用说明

好的,谢谢
回复

使用道具 举报

19

主题

235

回帖

292

积分

高级会员

积分
292
发表于 2022-12-19 16:54:19 | 显示全部楼层
加0.5取整就是四舍五入
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-16 08:17 , Processed in 0.189202 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表