[发明专利]一种在低位宽MCU上实现32位无符号数整型乘法运算的方法在审
| 申请号: | 202010134300.4 | 申请日: | 2020-03-02 |
| 公开(公告)号: | CN111596888A | 公开(公告)日: | 2020-08-28 |
| 发明(设计)人: | 李飞 | 申请(专利权)人: | 成都优博创通信技术股份有限公司 |
| 主分类号: | G06F7/523 | 分类号: | G06F7/523 |
| 代理公司: | 成都为知盾专利代理事务所(特殊普通合伙) 51267 | 代理人: | 李汉强 |
| 地址: | 610000 四*** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 低位 mcu 实现 32 符号 整型 乘法 运算 方法 | ||
1.一种在低位宽MCU上实现32位无符号数整型乘法运算的方法,其特征在于X=A*B。(X、A和B的数据类型都是32位无符号整型数)在低于32位的MCU平台上,上式的直接运算结果X将会直接溢出,要正确使用上面乘法运算必须将满足A*B的理论运算值小于232;
所述方法包括:
步骤S1:将32位无符号整型数据A表示为①,将32位无符号整型数据B表示为②;
步骤S2:将①和②带入A*B得到③;
步骤S3:将表达式③中(AH*BL+AL*BH)按④表示;
步骤S4:将表达式④带入③得到⑤;
步骤S5:表达式⑤中的D表示为DH*216+DL得到⑥;
步骤S6:表达式⑥中DL*216+AL*BL表示为⑦;
步骤S7:将表达式⑦带入⑥得到⑧;
步骤S7:将表达式⑧中的运算结果作为64位数的高32位保存;
步骤S8:在RSSI监控中计算温度补偿量。
2.按照权利要求1所述的一种在低位宽MCU上实现32位无符号数整型乘法运算的方法,其特征在于:所述步骤S1中,将32位无符号整型数据A表示为A=AH*216+AL,其中AH为高16位,AL为低16位,B表示为:B=BH*216+BL,例:0x12345678=0x1234*216+0x5678,0x1234为AH,0x5678为AL。
3.按照权利要求1所述的一种在低位宽MCU上实现32位无符号数整型乘法运算的方法,其特征在于:所述步骤S2中,将A=AH*216+AL和B=BH*216+BL带入A*B,得到A*B=(AH*BH)*232+(AH*BL+AL*BH)*216+AL*BL。
4.按照权利要求1所述的一种在低位宽MCU上实现32位无符号数整型乘法运算的方法,其特征在于:所述步骤S3中,将表达式AH*BL+AL*BH按照AH*BL+AL*BH=C*232+D方式表示,表达式AH*BL+AL*BH=C*232+D中D=AH*BL+AL*BH;如果DAH*BL成立,则C=1否则C=0。
5.按照权利要求1所述的一种在低位宽MCU上实现32位无符号数整型乘法运算的方法,其特征在于:所述步骤S4中,将表达式AH*BL+AL*BH=C*232+D带入A*B=(AH*BH)*232+(AH*BL+AL*BH)*216+AL*BL得到:AH*BL+AL*BH=C*232+D带入A*B=(AH*BH)*232+(AH*BL+AL*BH)*216+AL*BL得到A*B=(AH*BH+C*216)*232+D*216+AL*BL。
6.按照权利要求1所述的一种在低位宽MCU上实现32位无符号数整型乘法运算的方法,其特征在于:所述步骤S5中表达式A*B=(AH*BH+C*216)*232+D*216+AL*BL中的D表示为DH*216+DL得到:A*B=(AH*BH+C*216+DH)*232+DL*216+AL*BL。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都优博创通信技术股份有限公司,未经成都优博创通信技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010134300.4/1.html,转载请声明来源钻瓜专利网。





