硬汉嵌入式论坛

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

[STM32H7] 整型数开方

[复制链接]

5

主题

61

回帖

76

积分

初级会员

积分
76
发表于 2021-11-24 11:00:31 | 显示全部楼层 |阅读模式
硬汉兄  我用H7芯片问一下 无符号整型数开方  得到的还是整形, KEIL有没有这样的无符号整形函数开方,不是浮点数开方,计算加快
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106934
QQ
发表于 2021-11-24 11:23:29 | 显示全部楼层
直接调用浮点的那个就行。做浮点处理即可。
回复

使用道具 举报

3

主题

337

回帖

346

积分

高级会员

积分
346
发表于 2021-11-24 11:29:19 | 显示全部楼层
真是奇怪的需求。比如7*7=49,8*8=64,然后输入[49,63]区间的整数,输出都是7?
这种函数不具备实用性,又会有谁开发呢?
你就老老实实用sqrt,sqrtf,sqrtl然后取整得了。
回复

使用道具 举报

5

主题

165

回帖

180

积分

初级会员

积分
180
发表于 2021-11-24 11:52:15 | 显示全部楼层
可以试试牛顿迭代法的整数版本,比c库的开平方稍微快一丢丢,上网搜一搜应该会有不少
回复

使用道具 举报

5

主题

61

回帖

76

积分

初级会员

积分
76
 楼主| 发表于 2021-11-24 13:33:35 | 显示全部楼层
这个电源开关频率上接近200k,迫不得已得使用特殊方案,每个开关周期5us,需要计算时间有限,这个只是看H7这个芯片可不可以
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106934
QQ
发表于 2021-11-24 15:12:53 | 显示全部楼层
dghwjh 发表于 2021-11-24 13:33
这个电源开关频率上接近200k,迫不得已得使用特殊方案,每个开关周期5us,需要计算时间有限,这个只是看H7 ...

这个有专有指令的。我以为你知道这个指令呢,H7的FPU有专门的开平指令。

__sqrtf ,14个时钟周期就完成了。没有比这个更快的了。
480MHz主频来跑。30ns左右就完成了。
回复

使用道具 举报

3

主题

337

回帖

346

积分

高级会员

积分
346
发表于 2021-11-24 19:19:56 | 显示全部楼层
dghwjh 发表于 2021-11-24 13:33
这个电源开关频率上接近200k,迫不得已得使用特殊方案,每个开关周期5us,需要计算时间有限,这个只是看H7 ...

如果开方的输入数据有限,就用查表法得了。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-10 15:08 , Processed in 0.285801 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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