求助批处理如何计算比较大的数值

 我来答
朴素且可爱灬小喵1
2018-03-14 · TA获得超过2902个赞
知道大有可为答主
回答量:1713
采纳率:89%
帮助的人:505万
展开全部

这个完全可以实现,就是比较麻烦。

批处理默认的set /a 变量=算式 的结果要在[-2147483647,2147483647]这个范围,超过了会给异常提示。如果您计算的结果在这个范围内,可以直接计算,例如set /a var=98765*123456+998877665就能算出结果。

如果,您计算的结果超过上边说的范围,就需要自己定义数值计算的规则函数了,就是说将加、减、乘、除、乘方等运算定义成函数,将输入定义为数值型字符串。然后对字符串处理,用最基本的数学方法执行数值运算规则,然后逐位执行就行了。虽然这么说原理简单,但是由于批处理不是科学计算用的工具,所以所有的进位、退位、借位都要自己在程序中处理。

还有一种办法,就是用分段加然后拼接的办法,但同样要考虑位对齐、进位、退位等处理逻辑,这种方式虽然运算规则函数简单了,但是位处理的逻辑要复杂不少。


推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式