发明名称 一种有效数字运算结果的有效位数智能选取及表示方法
摘要 一种有效数字运算结果的有效位数智能选取及表示方法,从左至右搜索数值运算式中的每一个字符,以“+”或“-”处为断点获取加减项,以“*”或“/”处为断点获取每一个加减项中的乘除项,以“^”处为断点获取每一个乘除项中的幂底项。先进行三角函数和对数的运算,选取运算结果的有效位数,将选取结果代替原三角函数或对数表达式。计数每一个加减项中乘除数据、幂底数据的有效位数,其中最少的位数就是这些数据乘除幂运算结果的有效位数,乘除幂运算后得到只含加减运算的运算式。统一各加减数据的科学记数法指数形式,计数各数据的误差位,得到有效数字的误差位。本发明采用智能选取,有效适用处理海量数据和位数随机的场合,适用性良好。
申请公布号 CN102622202A 申请公布日期 2012.08.01
申请号 CN201210040967.3 申请日期 2012.02.22
申请人 浙江工业大学 发明人 陈鲤江;吴姚鑫;景程
分类号 G06F7/10(2006.01)I 主分类号 G06F7/10(2006.01)I
代理机构 杭州天正专利事务所有限公司 33201 代理人 王兵;王利强
主权项 一种有效数字运算结果的有效位智能选取及表示方法,其特征在于:所述有效位智能选取及表示方法包括以下步骤:(1)从左至右搜索数值运算式字符串中的每一个字符,若字符不为“+”、“‑”、“*”、“/”、“^”,则该字符为运算数据中的一个数字或小数点或三角函数、对数运算符中的一个字符;(2)以字符“+”、“‑”、“*”、“/”、“^”为断点搜索提取运算式中的每一个数据或三角函数表示式或对数表示式;当搜索的字符为“+”或“‑”时,则检查其前一位相邻的字符,若前一位字符为“E”,说明数据为科学记数法表示,则继续往后搜索;若不为“E”,则“+”或“‑”处就为数据提取的断点,提取每一个加减项;(3)再以“*”、“/”为断点提取每一个加减项中的乘除项,以“^”为断点提取乘除项中的幂底数据或幂底三角函数表示式或幂底对数表示式,对于科学记数法的幂底数据的识别方法同(2)。以三角函数运算符和对数运算符搜索识别三角函数表示式和对数表示式,若三角函数表示式和对数表示式存在,则进行三角函数运算和对数运算,计数它们运算结果的有效位数,将这些有效数字代替并放置在三角函数表示式或对数表示式的位置处成为算术运算的数据;(4)对于乘除运算数据、幂中的底数数据,计算各数据的有效数字个数nj,记下其中最小的个数min{nj},则这些数据的乘除幂运算结果的有效数字的个数就为min{nj},对这些数据进行乘除幂运算,将运算结果用科学记数法表示,根 据min{nj}来决定运算结果的有效位数,根据四舍六入五配偶的修约规则来决定该运算结果有效数字的取值。将该值代替并放置在该乘除幂运算项的位置处,组成新的只含有加减运算的数值运算式;(5)通过数据表示形式的转换,统一各加减数据中科学记数法的指数表示形式,并提取出该指数形式。计算该加减运算式中的每一个数据的误差位mi,记下其中最高的误差位max{mi},则运算结果的误差位就为max{mi}。对这些数据进行加减运算,根据max{mi}来决定运算结果中位数最高的误差位,根据四舍六入五配偶的修约规则来决定该运算结果有效数字的取信。
地址 310014 浙江省杭州市下城区朝晖六区