买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种在JavaScript语言中自动生成位域对象的方法_郑朗_202110906597.6 

申请/专利权人:郑朗

申请日:2021-08-09

公开(公告)日:2024-02-27

公开(公告)号:CN113590136B

主分类号:G06F8/51

分类号:G06F8/51;G06F9/50

优先权:

专利状态码:有效-授权

法律状态:2024.02.27#授权;2021.11.19#实质审查的生效;2021.11.02#公开

摘要:本发明公开了一种在JavaScript语言中自动生成位域对象的方法,包括以下步骤:S1、定义位域单项结构类;S2、定义位域结构类:进入位域结构类构造函数,运用生成位域类对象算法自动生成完整的位域类对象;S3、定义位域类:继承位域结构类,指定位域单项名和位域单项位宽,传入位域映射表BitMaps扩展实现定义一个位域类。本发明只需要指定位域单项名属性名和位域单项位宽,即可得到JavaScript位域对象。在JavaScript中使用位域对象能大大增加跨平台软件的接口通用性,减少接口适配工作量,减少程序占用内存大小,提高软件运算速度。

主权项:1.一种在JavaScript语言中自动生成位域对象的方法,其特征在于,包括以下步骤:S1、定义位域单项结构类;位域单项结构类包括以下成员:成员name用于指定位域单项名,同时作为位域类对象的属性名;成员fieldWidth用于指定位域单项占用的bit位数,即位域单项位宽;成员valueMask为位域单项值掩码,用于校正位域单项赋值位宽,防止赋值溢出;成员mask为位域单项标识掩码,用于标识该位域单项在位域类完整值all中占用bit位区域;成员shift为位域单项相对于位域类完整值all中0bit位的位域单项位偏移值;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;具体实现方法为:重写属性设置set方法,实现通过位域类完整值all结合位域单项信息通过设置位域类属性值算法将位域单项值设置到位域类完整值all对应的位域区域;设置位域类属性值算法具体实现方法为:S2811、将位域单项标识掩码mask进行位取反运算;S2812、将S2811的输出结果与位域类完整值all进行位与运算;S2813、将输入值value与位域单项值掩码valueMask进行位与运算,用于截断输入值可能的数值位数溢出;S2814、将S2813的输出值向左移动位域单项位偏移值shift位,再将输出结果向右无符号位移0位,以将结果转换为无符号数据;S2815、将S2812的输出结果和S2814的输出结果进行位或运算,将结果赋值给位域类完整值all;重写属性获取get方法,实现通过位域类完整值all结合位域单项信息通过获取位域类属性值算法获取位域单项值;获取位域类属性值算法具体实现方法为:S2821、将位域类完整值all与位域单项标识掩码mask进行位与运算,得到只保留了位域单项值信息的编码值;S2822、将S2821输出的结果向右无符号移动位域单项位偏移值shift位,从而提取到该位域单项对应的数值;S3、定义位域类:继承位域结构类,指定位域单项名和位域单项位宽,传入位域映射表BitMaps扩展实现定义一个位域类。

全文数据:

权利要求:

百度查询: 郑朗 一种在JavaScript语言中自动生成位域对象的方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。