[發明專利]一種在低位寬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.szxzyx.cn/pat/books/202010134300.4/1.html,轉載請聲明來源鉆瓜專利網。





