我有一些大的数字(比如总共10000000个数字或更多)。因为我会失去精度,所以它们像字符串一样存储。 以一些“小”数字为例(有些数字也可以是整数):
a = 4782916578987656789087654678908765467417657489104.9486718490129876578
b = 657890876566567890.8765467890987654
我想对他们做些手术。你知道吗
除法。答案是7.270075858095143e+30
多重性:3.1466371806949598e+66
等等。你知道吗
理想的输出是作为字符串的完整数字,但对于带有分段零和余数的浮点,其精度是给定的。你知道吗
示例:888888888888.23 / 2.5122217 == 353825814373.082590504959329565857965
(点后24位)`
我试过decimals
模块,但它不能处理大整数:class 'decimal.DivisionImpossible
或者其他我不知道的东西。你知道吗
有没有一种方法可以使用标准库,或者至少是numpy
。或者某种算法,我也可以用JavaScript之类的其他语言重现?你知道吗
注意:我知道我可以使Decimal.getcontext().prec = 8888888888888
或更大,但这将需要更多的时间来计算,如果数字是1和1.7373我需要浪费资源吗?而且它是整数的精度,而不仅仅是浮点数。你知道吗
decimal
模块是您在这里的朋友。如果你想发狂,那么。。。你知道吗请记住
c.prec
提供打印时显示的位数。根据文档,最大数目是999999999999999999
,并且您被绑定到计算机的内存中。在我的情况下(实际上是我的电脑),c.prec
是一个很好的数字。你知道吗如果打印结果,会发生什么?你知道吗
既然你想玩大的,大的数字,那么,你就有了。你知道吗
另外,我想用
10 000 000
数字来写一个数字,但是我的文本编辑器不允许这样。。。它们冻结了。你知道吗相关问题 更多 >
编程相关推荐