找回密码
 立即注册
查看: 212|回复: 11

一个算法精简求教

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:492
  • 最近打卡:2025-12-16 21:17:24
已绑定手机

270

主题

393

回帖

2166

积分

金牌会员

积分
2166
发表于 2025-11-19 14:44:38 | 显示全部楼层 |阅读模式
(X%360/90)%1



X是任意度数,X%360在圆上任意一个度数,不管几圈重复部分全部截掉


X%360/90,把这个圆分成四个象限,除以90就能知道当前角度在哪个象限上


(X%360/90)%1,余上1是指第1象限和第3是相同的处理方式,第2象限和第4象限是相同的处理方式


也就是说通过这个公式计算最终得到0和1两个值


现在计算跟不上,我想把这个公式再精简下

回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:584
  • 最近打卡:2025-12-17 09:47:29

33

主题

2775

回帖

6154

积分

论坛元老

积分
6154
发表于 2025-11-19 14:54:28 | 显示全部楼层
计算跟不上,,,,

或许是除法和取余运算比较费时?
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:584
  • 最近打卡:2025-12-17 09:47:29

33

主题

2775

回帖

6154

积分

论坛元老

积分
6154
发表于 2025-11-19 15:15:09 | 显示全部楼层
要不换成查表法?,,做一次取余,,剩下的查表。。。虽然占ROM是大了,,但是速度肯定是比做几次除法取余要快把。。
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:550
  • 最近打卡:2025-12-18 14:55:32
已绑定手机

8

主题

175

回帖

1794

积分

金牌会员

积分
1794
发表于 2025-11-19 16:09:08 | 显示全部楼层
%360之后直接IF不就行啦,比较比除法快。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:492
  • 最近打卡:2025-12-16 21:17:24
已绑定手机

270

主题

393

回帖

2166

积分

金牌会员

积分
2166
发表于 2025-11-19 19:07:19 | 显示全部楼层
cn*** 发表于 2025-11-19 16:09
%360之后直接IF不就行啦,比较比除法快。

怎么个if法,你写给我看看呢,我反正写不出来
回复

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:90
  • 最近打卡:2025-12-19 02:31:04

17

主题

148

回帖

1513

积分

金牌会员

积分
1513
发表于 2025-11-20 11:18:30 | 显示全部楼层
最后一步%1是什么意思?应该是%2吧。
等效于直接取最低一位。
回复

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:90
  • 最近打卡:2025-12-19 02:31:04

17

主题

148

回帖

1513

积分

金牌会员

积分
1513
发表于 2025-11-20 11:33:22 | 显示全部楼层
(X / 90) & 0x01;

点评

好像可以用  发表于 2025-11-20 14:31
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:110
  • 最近打卡:2025-12-18 09:39:18

30

主题

1216

回帖

4623

积分

超级版主

积分
4623
发表于 2025-11-20 22:49:30 | 显示全部楼层
你的这个算法中 %360是多余的
(x % 360 / 90) % 2首先可以简化成(x / 90) % 2
接下来的 %2运算等价与 AND 1, AND运算比%速度快很多

所以(x % 360 / 90) % 2最终可以简化为(x / 90) & 1
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:492
  • 最近打卡:2025-12-16 21:17:24
已绑定手机

270

主题

393

回帖

2166

积分

金牌会员

积分
2166
发表于 2025-11-21 07:26:05 | 显示全部楼层
zh*** 发表于 2025-11-20 22:49
你的这个算法中 %360是多余的
(x % 360 / 90) % 2首先可以简化成(x / 90) % 2
接下来的 %2运算等价与 AND 2 ...

&1吧

点评

是的,是 & 1  详情 回复 发表于 2025-11-21 18:30
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:492
  • 最近打卡:2025-12-16 21:17:24
已绑定手机

270

主题

393

回帖

2166

积分

金牌会员

积分
2166
发表于 2025-11-21 07:37:33 | 显示全部楼层
zh*** 发表于 2025-11-20 22:49
你的这个算法中 %360是多余的
(x % 360 / 90) % 2首先可以简化成(x / 90) % 2
接下来的 %2运算等价与 AND 2 ...

截图202511210730163523.jpg

截图202511210733409952.jpg



%1运算指令,一个时钟周期占2个字节

截图202511210735128973.jpg


截图202511210734597591.jpg

&1运算指令,一个时钟周期占4个字节,当然是%1好用
回复

使用道具 举报 送花

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

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-12-19 05:08 , Processed in 0.118852 second(s), 101 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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