[發明專利]浮點數計算精度處理方法、系統、介質及設備有效
| 申請號: | 202110707266.X | 申請日: | 2021-06-24 |
| 公開(公告)號: | CN113326048B | 公開(公告)日: | 2023-01-17 |
| 發明(設計)人: | 鄧力;宋金澤 | 申請(專利權)人: | 上海萬向區塊鏈股份公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41;G06F8/71;G06F9/30 |
| 代理公司: | 上海段和段律師事務所 31334 | 代理人: | 李佳俊;郭國中 |
| 地址: | 200086 上海*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 浮點 計算 精度 處理 方法 系統 介質 設備 | ||
本發明提供了一種浮點數計算精度處理方法、系統、介質及設備,包括:步驟1:啟動babel編譯器對JS代碼進行編譯處理,將JS代碼轉換為抽象語法樹形態;步驟2:對抽象語法樹進行遍歷,定位每個四則運算的代碼節點,獲取四則運算語句的左、右節點內容,根據運算符類型及左右節點的屬性值創建補丁代碼的抽象語法樹,將新創建的抽象語法樹替換掉當前定位到的四則運算代碼節點的抽象語法樹;步驟3:根據修改替換后的抽象語法樹生成新JS代碼,進行無需精度計算的四則運算。本發明將四則運算相關代碼轉換為處理過運算精度的補丁代碼,提高開發效率的同時能最大限度地降低因為人為犯錯或疏忽來帶的風險。
技術領域
本發明涉及數據處理技術領域,具體地,涉及一種浮點數計算精度處理方法、系統、介質及設備。尤其地,涉及一種基于babel編譯器的JS浮點數計算精度處理方法。
背景技術
目前,越來越多的應用基于JavaScript技術棧開發,金融類型的應用往往在前端會涉及到較多的包含小數位的金額計算,由于JavaScript中的數字類型基于IEEE 754標準的雙精度浮點型實現,雙精度浮點型數字在運算時存在精度丟失的問題。因此,計算精度的處理是在涉及JavaScript浮點數計算的項目中不得不考慮的一環。
常見的處理策略如下:1.提前封裝好專門用于處理浮點數四則運算精度對應的加、減、乘、除工具函數,其內部處理運算精度的原理為:在JavaScript支持的整數有效范圍內,整數的運算精度不會出現問題,因此,將小數擴大10的相應倍數從而將小數轉換為整數進行運算,再將整數運算結果轉換回包含小數位的數值。2.在代碼中涉及到浮點數運算的位置使用工具函數替代JavaScript原生代碼進行計算。
通過編寫形如:add(0.1,0.2)這類的補丁代碼,來替代直接書寫形如:0.1+0.2這類的原生JavaScript計算代碼。
但是這種解決方案效率低、易出錯,且給開發者來帶來了一定的心智負擔。并且在需要編寫復雜的浮點數混合四則運算代碼時,存在函數調用嵌套過深且編碼繁瑣的問題,極易因為人為的疏忽或者紕漏導致計算結果異常。
專利文獻CN104199831A(申請號:CN201410373530.0)公開了一種信息處理方法及裝置;所述方法包括:基于第一策略識別出SQL代碼中的基本元素;對從所述SQL代碼中解析出的基本元素進行組合操作,得到SQL語句,構建語法樹;遍歷所述語法樹中的SQL語句,基于所遍歷的SQL語句中的基本元素的類型,以及所述基本元素的類型與節點的對應關系,為所遍歷的SQL語句中的基本元素對應構建節點,得到所述語法樹的中間語言描述;基于所述語法樹的中間語言描述,構建對應所述SQL代碼的數據流圖。
發明內容
針對現有技術中的缺陷,本發明的目的是提供一種浮點數計算精度處理方法、系統、介質及設備。
根據本發明提供的浮點數計算精度處理方法,包括:
步驟1:啟動babel編譯器對JS代碼進行編譯處理,將JS代碼轉換為抽象語法樹形態;
步驟2:對抽象語法樹進行遍歷,定位每個四則運算的代碼節點,獲取四則運算語句的左、右節點內容,根據運算符類型及左右節點的屬性值創建補丁代碼的抽象語法樹,將新創建的抽象語法樹替換掉當前定位到的四則運算代碼節點的抽象語法樹;
步驟3:根據修改替換后的抽象語法樹生成新JS代碼,進行無需精度計算的四則運算。
優選的,在替換抽象語法樹前后,通過webpack對JS代碼進行打包處理,并對抽象語法樹進行備份。
優選的,使用訪問者模式對抽象語法樹進行遍歷,對所有的簽名和二進制表達式節點進行訪問,得到四則運算符類型。
優選的,所述運算符類型包括:+運算符、+=運算符、-運算符、-=運算符、*運算符和/運算符;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海萬向區塊鏈股份公司,未經上海萬向區塊鏈股份公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110707266.X/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:水面垃圾收集器行進機構
- 下一篇:熔斷配置修改方法、裝置、設備及可讀存儲介質





