0

我正在尝试用非常大的数字进行除法。我知道python可以在除法之前处理它们,但是有没有办法让python不截断答案?

一个例子如下:

s = 68729682406644277238837486231747530924247154108646671752192618583088487405790957964732883069102561043436779663935595172042357306594916344606074564712868078287608055203024658359439017580883910978666185875717415541084494926500475167381168505927378181899753839260609452265365274850901879881203714

米 = 2047

s/(2*M) = 1.6787904837968803e+289

它可以记住 292 位数字,但是当它除以大数字时,它会被截断。

有什么办法可以得到准确的答案吗?

谢谢

4

1 回答 1

0

如果您只关心答案的整数部分,您可以使用//which 是整数除法运算符:

s // (2*M)

看起来你s是一个倍数,M所以听起来这就是你要找的东西。

在 Python(3 及更高版本)中,/运算符是浮点除法运算符,而//整数除法运算符。以前的 Python 版本只有/并且会根据操作数是否都是整数来做不同的事情。这很令人困惑,因此引入了一个新//运算符并将/其重新定义为始终为浮点数。

于 2013-09-06T01:18:49.957 回答