求助批处理如何计算比较大的数值
1个回答
展开全部
这个完全可以实现,就是比较麻烦。
批处理默认的set /a 变量=算式 的结果要在[-2147483647,2147483647]这个范围,超过了会给异常提示。如果您计算的结果在这个范围内,可以直接计算,例如set /a var=98765*123456+998877665就能算出结果。
如果,您计算的结果超过上边说的范围,就需要自己定义数值计算的规则函数了,就是说将加、减、乘、除、乘方等运算定义成函数,将输入定义为数值型字符串。然后对字符串处理,用最基本的数学方法执行数值运算规则,然后逐位执行就行了。虽然这么说原理简单,但是由于批处理不是科学计算用的工具,所以所有的进位、退位、借位都要自己在程序中处理。
还有一种办法,就是用分段加然后拼接的办法,但同样要考虑位对齐、进位、退位等处理逻辑,这种方式虽然运算规则函数简单了,但是位处理的逻辑要复杂不少。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询