[技术求助] 为什么右移?

[复制链接]
45|9
 楼主 | 2018-7-10 19:07 | 显示全部楼层 ||阅读模式
MD=(long)Us_value*(long)4096/(long)ED;
.........
Tm=(long)MD*(long)Sin_value1 >>15
Tl=(long)MD*(long)Sin_value2 >>15
Tm=(long)T12_PR*(long)Tm  >>12
Tl=(long)T12_PR*(long)Tl>>12


这里的>>是右移的意思 关键是为什么右移
| 2018-7-10 19:09 | 显示全部楼层
这是定点数的变换.
 楼主 | 2018-7-10 19:11 | 显示全部楼层
能详细说说吗
| 2018-7-10 19:13 | 显示全部楼层

为了计算精度, 好多参数如 Us_value, Sin_value1 都是带一定小数位数的定点数.
| 2018-7-10 19:15 | 显示全部楼层
嗯,计算后移位以还原整数
 楼主 | 2018-7-10 19:18 | 显示全部楼层
这个跟数据类型相关系的。
| 2018-7-10 19:21 | 显示全部楼层

计算后移位以还原整数
| 2018-7-10 19:23 | 显示全部楼层

这个跟所用的CPU的位数相关系的
| 2018-7-10 19:26 | 显示全部楼层
数据右移是为了更好的进行其他数据操作的
 楼主 | 2018-7-10 19:28 | 显示全部楼层

嗯,我再好好缕一缕吧,有了好消息及时通知大家,结贴喽
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

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