System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 十进制数基础运算检错方法及装置、存储介质和终端制造方法及图纸_技高网

十进制数基础运算检错方法及装置、存储介质和终端制造方法及图纸

技术编号:40172388 阅读:5 留言:0更新日期:2024-01-26 23:41
本发明专利技术公开了一种十进制数基础运算检错方法及装置、存储介质和终端,其中方法包括:获取运算指令;获取第一操作尾数和第二操作尾数,基于尾数余数获取规则分别获取第一操作尾数和第二操作尾数的余数,并基于运算规则对余数进行运算并取余获取尾余数预测值;获取与运算指令相对应的运算结果,并从运算结果中获取运算结果尾数,基于预设余数获取规则获取运算结果尾数的余数,作为尾余数实际值;判断尾余数预测值和尾余数实际值是否相同,若是则表示运算尾数部分正常,否则表示运算有误。本发明专利技术通过对运算前后尾数取余的方式,实现对计算机中十进制定点整数和十进制浮点数运算过程中的尾数检错。

【技术实现步骤摘要】

本专利技术涉及计算机,尤其涉及一种十进制数基础运算检错方法及装置、存储介质和终端


技术介绍

1、目前的计算机数据检错机制大多集中在数据的传输过程中。例如二进制数据或十进制数据在传输过程即使传输系统设计的十分完善,也难免会出现传输差错,例如所传输的数据某些比特位由0变为1或由1变为0,这使得数据的接收方得到的数据是错误的。目前常见的数据传输错误侦测方法包括:循环冗余校验(crc校验)、奇偶校验、算术检错编码等。

2、其中crc校验为最长用的校验方式,该方法利用发送方计算机使用某公式计算出被传送数据所含信息的一个值,并将此值附在被传送数据后,接收方计算机则对同一数据进行相同的计算,应该得到相同的结果。如果这两个crc结果不一致,则说明发送中出现了差错,接收方计算机可要求发送方计算机重新发送该数据。但上述过程导致crc结果不一致的原因除传输差错外,还可能是由于数据基础运算错误导致的结果不一致。例如在计算机计算过程由于设计问题或未知乱码导致的基础运算单元(包括加法、减法和乘法)计算错误。

3、而目前少有对计算机数据基础运算过程进行检错的方法。


技术实现思路

1、本申请的目的在于提供一种十进制数基础运算检错方法及装置、存储介质和终端,用于解决目前缺少对计算机数据基础运算过程进行检错的问题。

2、第一方面,本专利技术提供了一种十进制数基础运算检错方法,包括:

3、获取运算指令,从所述运算指令中获取第一操作数、第二操作数以及对应的运算规则;>

4、将所述第一操作数中尾数部分作为第一操作尾数,将所述第二操作数中尾数部分作为第二操作尾数,基于尾数余数获取规则分别获取第一操作尾数的余数和第二操作尾数的余数,并基于所述运算规则对所述第一操作尾数的余数和所述第二操作尾数的余数进行运算获取尾余数运算结果,基于所述尾数余数获取规则获取所述尾余数运算结果的余数,以作为尾余数预测值;

5、获取与所述运算指令相对应的运算结果,并从所述运算结果中获取运算结果尾数,基于尾数余数获取规则获取所述运算结果尾数的余数,作为尾余数实际值;

6、判断所述尾余数预测值和所述尾余数实际值是否相同,若是则表示所述运算指令尾数部分运算正确,否则表示所述运算指令运算错误;

7、其中,当第一原始操作数和第二原始操作数均为十进制定点数时,所述运算指令中的第一原始操作数即为所述第一操作数,所述运算指令中的第二原始操作数即为所述第二操作数;

8、当第一原始操作数和第二原始操作数均为十进制浮点数时,需通过指数看齐规则将所述第一原始操作数和所述第二原始操作数进行指数看齐后,获取的第一看齐操作数即为所述第一操作数,获取的第二看齐操作数即为所述第二操作数;

9、其中所述第一原始操作数和所述第二原始操作数从所述运算指令中获取;

10、所述运算规则为加法、减法或乘法。

11、于本申请一实施例中,通过指数看齐规则将所述第一操作数和所述第二操作数进行指数看齐,以获取第一看齐操作数和第二看齐操作数包括:

12、当所述运算规则为加法或减法时:

13、假设所述第一原始操作数中指数部分指数大于等于所述第二原始操作数中指数部分指数,将所述第一原始操作数中指数部分指数和所述第二原始操作数中指数部分指数之差作为指数位差;

14、从所述运算指令中获取尾数位宽设定值,并将所述尾数位宽设定值与所述第一原始操作数中尾数部分位宽之差作为前导零位数;

15、判断所述前导零位数是否大于等于指数位差,若是则将所述第二原始操作数中指数部分指数作为目标指数,并将所述第一原始操作数中尾数部分左移所述指数位差,以得到第一看齐操作数,将所述第二原始操作数作为第二看齐操作数;

16、否则将所述第一原始操作数中指数部分指数与所述前导零位数之差作为目标指数,并将所述第一原始操作数中尾数部分左移所述前导零位数,以得到第一看齐操作数,并将所述第二原始操作数中尾数部分右移调整位数,以得到第二看齐操作数;

17、其中,所述调整位数为所述指数位差与所述前导零位数之差;

18、当所述运算规则为乘法时:

19、所述第一原始操作数中指数部分指数与所述第二原始操作数中指数部分指数之和即为看齐指数,且所述第一原始操作数即为第一看齐操作数,所述第二原始操作数即为第二看齐操作数。

20、于本申请一实施例中,当所述第一操作数和所述第二操作数为十进制浮点数时,还包括:

21、将所述第一原始操作数和所述第二原始操作数进行指数看齐的看齐指数作为目标指数;

22、基于所述指数余数获取规则获取所述目标指数的余数,以作为指余数预测值,并将所述运算结果中指数部分作为运算结果指数,基于所述指数余数获取规则获取所述运算结果指数的余数,以作为指余数实际值;

23、判断所述指余数预测值和所述指余数实际值是否相同,若是则表示所述运算指令指数部分运算正确,否则表示所述运算指令运算错误。

24、于本申请一实施例中,所述尾数余数获取规则或指数余数获取规则包括:

25、判断待取余数位宽是否为预设倍数,若是则将所述待取余数作为目标取余数,否则在所述待取余数前补最少位数的零,以使得补零后的待取余数位宽为预设倍数,并将补零后的待取余数作为目标取余数;

26、基于预设编码方式将所述目标取余数编码为目标编码数列,并基于预设余数移位方式对所述目标编码数列中的单位编码数进行取余移位,获取所述待取余数的余数;

27、其中,在所述尾数余数获取规则中,所述待取余数为所述第一操作尾数、所述第一操作尾数或所述运算结果尾数,在所述指数余数获取规则中,所述待取余数为所述运算结果指数或所述目标指数。

28、于本申请一实施例中,基于预设编码方式将所述目标取余数编码为目标编码数列包括:

29、将所述目标取余数中数字依次分组得到多个转换单位;

30、基于预设编码方式依次将所述目标取余数中的所有转换单位均转换为对应的单位编码数,获取目标编码数列。

31、于本申请一实施例中,基于预设余数移位方式对所述目标编码数列中的单位编码数进行取余移位,获取所述待取余数的余数包括:

32、将所述目标编码数列拆分为多个移位数列,并基于预设余数移位方式对每个所述移位数列中的单位编码数进行取余移位,以获取每个所述移位数列的最终移位编码数;

33、将所有所述移位数列的最终移位编码数依次整合为最终移位数列,并基于预设余数移位方式对所述最终移位数列中的单位编码数进行取余移位,获取所述待取余数的余数。

34、于本申请一实施例中,基于预设余数移位方式对待移位编码数列中的单位编码数进行取余移位包括:

35、将所述待移位编码数列中首位单位编码数或末位单位编码数作为起始编码数,将所述起始编码数与相邻单位编码数构成移位编码组,并将所述移位编码组中的单位本文档来自技高网...

【技术保护点】

1.一种十进制数基础运算检错方法,包括:

2.根据权利要求1所述的检错方法,其特征在于,通过指数看齐规则将所述第一操作数和所述第二操作数进行指数看齐,以获取第一看齐操作数和第二看齐操作数包括:

3.根据权利要求2所述的检错方法,其特征在于,当所述第一操作数和所述第二操作数为十进制浮点数时,还包括:

4.根据权利要求3所述的检错方法,其特征在于,所述尾数余数获取规则和所述指数余数获取规则均包括:

5.根据权利要求4所述的检错方法,其特征在于,基于预设编码方式将所述目标取余数编码为目标编码数列包括:

6.根据权利要求5所述的检错方法,其特征在于,基于预设余数移位方式对所述目标编码数列中的单位编码数进行取余移位,获取所述待取余数的余数包括:

7.根据权利要求5或6中所述的检错方法,其特征在于,基于预设余数移位方式对待移位编码数列中的单位编码数进行取余移位包括:

8.根据权利要求7中所述的检错方法,其特征在于,当除数为x时,假设x用二进制表示时位宽为y,则每个所述转换单位中均包括y个数字;

9.根据权利要求7中所述的检错方法,其特征在于,当除数为x时,假设x用二进制表示位宽为y,则每个所述转换单位中均包括y个数字;

10.根据权利要求1所述的检错方法,其特征在于,获取运算指令,从所述运算指令中获取第一操作数、第二操作数以及对应的运算规则步骤包括:

11.一种十进制数基础运算检错装置,其特征在于,包括操作数获取模块、尾余数预测值获取模块、尾余数实际值获取模块和判断模块;

12.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至10中任一项所述的十进制数基础运算检错方法。

13.一种终端,其特征在于,包括:处理器以及存储器,所述存储器与所述处理器之间通信连接;

...

【技术特征摘要】

1.一种十进制数基础运算检错方法,包括:

2.根据权利要求1所述的检错方法,其特征在于,通过指数看齐规则将所述第一操作数和所述第二操作数进行指数看齐,以获取第一看齐操作数和第二看齐操作数包括:

3.根据权利要求2所述的检错方法,其特征在于,当所述第一操作数和所述第二操作数为十进制浮点数时,还包括:

4.根据权利要求3所述的检错方法,其特征在于,所述尾数余数获取规则和所述指数余数获取规则均包括:

5.根据权利要求4所述的检错方法,其特征在于,基于预设编码方式将所述目标取余数编码为目标编码数列包括:

6.根据权利要求5所述的检错方法,其特征在于,基于预设余数移位方式对所述目标编码数列中的单位编码数进行取余移位,获取所述待取余数的余数包括:

7.根据权利要求5或6中所述的检错方法,其特征在于,基于预设余数移位方式对待移位编码数列中的单位编码数进行取余...

【专利技术属性】
技术研发人员:咸有龙周圣骐冯春阳刘洋张稚
申请(专利权)人:上海合芯数字科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1