[发明专利]运算处理方法、系统、装置以及计算机可读介质在审
申请号: | 201811465185.8 | 申请日: | 2018-12-03 |
公开(公告)号: | CN111258547A | 公开(公告)日: | 2020-06-09 |
发明(设计)人: | 李永 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F7/57 | 分类号: | G06F7/57 |
代理公司: | 北京成创同维知识产权代理有限公司 11449 | 代理人: | 刘静 |
地址: | 100195 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 运算 处理 方法 系统 装置 以及 计算机 可读 介质 | ||
1.一种运算处理方法,其特征在于,包括:
接收第一表达式;
将所述第一表达式分成多个计算单元,每个计算单元包括左因子、运算符和右因子;
将所述多个计算单元按照包含的运算符的优先级排序;
按照优先级从高到低的顺序分多次计算所述多个计算单元,且在每次计算之前,替换本次计算的计算单元的左和/或右因子,直到基于最后计算的计算单元得到最终结果值;
输出所述最终结果值。
2.根据权利要求1所述的运算处理方法,其特征在于,还包括:
接收第二表达式;
检测所述第二表达式中的括号;以及
在所述第二表达式包含至少一个括号时,以括号作为分隔符,将所述第二表达式转换为至少两个第一表达式。
3.根据权利要求2所述的运算处理方法,其特征在于,还包括:通过递归计算得到所述第二表达式的最终结果值。
4.根据权利要求1所述的运算处理方法,其特征在于,还包括:为每个计算单元建立数据结构,所述数据结构包括左单元、左因子、运算符、右因子、右单元。
5.根据权利要求4所述的处理方法,其特征在于,还包括:采用链表存储多个所述数据结构。
6.根据权利要求4所述的运算处理方法,其特征在于,还包括:每次在计算一个计算单元之前,如果其对应的数据结构的左单元不为空,则采用相邻的左侧的计算单元的结果值替换其对应的数据结构的左因子。
7.根据权利要求4所述的运算处理方法,其特征在于,还包括:每次在计算一个计算单元之前,如果其对应的数据结构的右单元不为空,则采用相邻的右侧的计算单元的结果值替换其对应的数据结构的右因子。
8.根据权利要求1所述的运算处理方法,其特征在于,采用BigDecimal对象计算每个计算单元。
9.根据权利要求1所述的运算处理方法,其特征在于,所述第一表达式为字符串,所述将所述第一表达式分成多个计算单元包括:
将字符串分成由数值和运算符组成的字符串数组;
将所述字符串数组中相邻的数值和运作符组成所述多个计算单元。
10.根据权利要求1所述的运算处理方法,其特征在于,还包括:如果所述第一表达式中包含变量,采用变量值替换所述变量。
11.一种运算处理系统,其特征在于,包括:
接收模块,用于接收第一表达式;
第一划分模块,将所述第一表达式分成多个计算单元,每个计算单元包括左因子,运算符和右因子;
排序模块,用于将所述多个计算单元按照包含的运算符的优先级排序;
计算模块,用于按照优先级从高到低的顺序分多次计算计算单元,且在每次计算之前,替换本次计算的计算单元的左和/或右因子,直到基于最后计算的计算单元得到最终结果值;
输出模块,用于输出所述最终结果值。
12.根据权利要求11所述的运算处理系统,其特征在于,还包括:
第二划分模块,用于接收第二表达式,检测所述第二表达式中的括号,在所述第二表达式包含至少一个括号时,以括号作为分隔符,将所述第二表达式转换为至少两个第一表达式。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令被执行时实现如权利要求1至10任一项所述的运算处理方法。
14.一种运算处理装置,其特征在于,包括:
存储器,用于存储计算机指令;
处理器,耦合到所述存储器,所述处理器被配置为基于所述存储器存储的计算机指令执行实现如权利要求1至10中任一项所述的运算处理方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811465185.8/1.html,转载请声明来源钻瓜专利网。