[發明專利]一種在JavaScript語言中自動生成位域對象的方法在審
| 申請號: | 202110906597.6 | 申請日: | 2021-08-09 |
| 公開(公告)號: | CN113590136A | 公開(公告)日: | 2021-11-02 |
| 發明(設計)人: | 鄭朗 | 申請(專利權)人: | 鄭朗 |
| 主分類號: | G06F8/51 | 分類號: | G06F8/51;G06F9/50 |
| 代理公司: | 成都虹盛匯泉專利代理有限公司 51268 | 代理人: | 周永宏 |
| 地址: | 610000 四川*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 javascript 語言 自動 生成 對象 方法 | ||
1.一種在JavaScript語言中自動生成位域對象的方法,其特征在于,包括以下步驟:
S1、定義位域單項結構類;
S2、定義位域結構類:進入位域結構類構造函數,運用生成位域類對象算法自動生成完整的位域類對象;
S3、定義位域類:繼承位域結構類,指定位域單項名和位域單項位寬,傳入位域映射表BitMaps擴展實現定義一個位域類。
2.根據權利要求1所述的一種在JavaScript語言中自動生成位域對象的方法,其特征在于,所述步驟S1中的位域單項結構類包括以下成員:
成員name用于指定位域單項名,同時作為位域類對象的屬性名;
成員fieldWidth用于指定位域單項占用的bit位數,即位域單項位寬;
成員valueMask為位域單項值掩碼,用于校正位域單項賦值位寬,防止賦值溢出;
成員mask為位域單項標識掩碼,用于標識該位域單項在位域類完整值all中占用bit位區域;
成員shift為位域單項相對于位域類完整值all中0bit位的位域單項位偏移值。
3.根據權利要求1所述的一種在JavaScript語言中自動生成位域對象的方法,其特征在于,所述步驟S2具體實現方法為:
S21、初始化位域類完整值all為0;
S22、初始化臨時變量:初始化累計位偏移值offset值為0、位域對象最大位寬長度maxBitLen值為32、位域對象最大整形數值maxValue值為0xffffffff;
S23、遍歷位域映射表BitMaps,如果有未處理的位域單項則進入S24,否則結束遍歷,生成位域類對象,算法結束;
S24、將累計位偏移值offset賦值給當前位域單項位偏移值shift;
S25、將位域對象最大整形數值maxValue整體向右無符號移動位域對象最大位寬長度maxBitLen減去位域單項位寬fieldWidth得到的位數,截斷溢出位數后得到位域單項值掩碼valueMask;
S26、將位域單項值掩碼valueMask向左整體移動累計位偏移值offset,再將結果向右無符號位移0位,將結果轉換為無符號整形數據得到位域單項標識掩碼mask;
S27、將累計位偏移值offset累加上位域單項位寬fieldWidth,計算結果更新到累計位偏移值offset供計算處理下一個位域單項使用;
S28、給位域類增加屬性名為位域單項名的屬性,并返回S23。
4.根據權利要求3所述的一種在JavaScript語言中自動生成位域對象的方法,其特征在于,所述S28具體實現方法為:
重寫屬性設置set方法,實現通過位域類完整值all結合位域單項信息通過設置位域類屬性值算法將位域單項值設置到位域類完整值all對應的位域區域;
重寫屬性獲取get方法,實現通過位域類完整值all結合位域單項信息通過獲取位域類屬性值算法獲取位域單項值。
5.根據權利要求4所述的一種在JavaScript語言中自動生成位域對象的方法,其特征在于,所述設置位域類屬性值算法具體實現方法為:
S2811、將位域單項標識掩碼mask進行位取反運算;
S2812、將S2811的輸出結果與位域類完整值all進行位與運算;
S2813、將輸入值value與位域單項值掩碼valueMask進行位與運算,用于截斷輸入值可能的數值位數溢出;
S2814、將S2813的輸出值向左移動位域單項位偏移值shift位,再將輸出結果向右無符號位移0位,以將結果轉換為無符號數據;
S2815、將S2812的輸出結果和S2814的輸出結果進行位或運算,將結果賦值給位域類完整值all。
6.根據權利要求4所述的一種在JavaScript語言中自動生成位域對象的方法,其特征在于,所述獲取位域類屬性值算法具體實現方法為:
S2821、將位域類完整值all與位域單項標識掩碼mask進行位與運算,得到只保留了位域單項值信息的編碼值;
S2822、將S2821輸出的結果向右無符號移動位域單項位偏移值shift位,從而提取到該位域單項對應的數值。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于鄭朗,未經鄭朗許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110906597.6/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種強磁組合件及其制作方法
- 下一篇:一種促進有機物酸化水解的裝置





