long-type in Python vs Java& C

时间:2014-11-14 21:50:11

标签: java python long-integer primitive

为什么Python能够存储任何长度的长整数,因为Java和C只提供64位? 如果Java中有一种方法可以显示它,请显示它。

2 个答案:

答案 0 :(得分:2)

Java中有BigInteger类。

请参阅此python帮助文件。

Plain integers (also just called integers) are implemented using long in C, 
which gives them at least 32 bits of precision 
(sys.maxint is always set to the maximum plain integer value for the current platform, 
 the minimum value is -sys.maxint - 1). 
Long integers have unlimited precision.

基本上,它是一样的。在java中你可以使用。

  • byte - 8 bit
  • 短 - 16位
  • int - 32位
  • 长 - 64位
  • 的BigInteger

在python中,由于类型较弱,它会自动更改其类型,请参阅下面的python代码

>>> a = 1000
>>> type(a)
<type 'int'>
>>> a = 1000000000000000000000000000000000000000000000000000000000000000
>>> type(a)
<type 'long'>

在java中,你必须自己改变变量的类型。

答案 1 :(得分:0)

Python存储具有无限精度的长整数,只要您有可用的地址空间,就可以存储大数。

对于Java,请使用BigInteger类