长整数的最大值

我怎样才能把一个长整数的最大值赋给一个variables,例如,类似于C ++的LONG_MAX

长整数:

没有明确的限制。 可用的地址空间量构成了一个实际的限制。
(采取从这个站点)。 请参阅数字types的文档,您将看到Long integers have unlimited precision 。 在Python 2中,整数在超出限制时会自动切换为长整型:

 >>> import sys >>> type(sys.maxsize) <type 'int'> >>> type(sys.maxsize+1) <type 'long'> 

整数我们有

maxint和maxsize:

int的最大值可以在Python 2.x中用sys.maxint 。 它在Python 3中被删除了,但是可以使用sys.maxsize 。 从更新日志 :

sys.maxint常量被删除,因为整数的值不再有限制。 但是,sys.maxsize可以用作比实际列表或string索引更大的整数。 它符合实现的“自然”整数大小,并且通常与以前版本中的sys.maxint相同(假设有相同的构build选项)。

对于任何对差异感兴趣的人(Python 2.x):

sys.maxint Python常规整数types支持的最大正整数。 这是至less2 ** 31-1。 最大的负整数是-maxint-1 – 使用二进制补码二进制算术的不对称结果。

sys.maxsize平台的Py_ssize_ttypes支持的最大正整数,因此最大大小的列表,string,字典和许多其他容器可以有。

为了完整起见,这里是Python 3的版本 :

sys.maxsize一个给出最大值的整型variables,types为Py_ssize_t。 通常在32位平台上是2 ^ 31-1,在64位平台上是2 ^ 63-1。

花车:

float("inf")float("-inf") 。 这些可以与其他数字types进行比较:

 >>> import sys >>> float("inf") > sys.maxsize True 

Python的long可以任意大。 如果你需要一个大于其他值的值,你可以使用float('inf') ,因为Python比较不同types的数值是没有问题的。 同样,对于小于任何其他值的值,可以使用float('-inf')

直接回答标题问题:

整数的大小是无限的,在Python中没有最大的价值。

回答下列哪个地址的基本用例:

根据你对你要做什么的评论,你现在正在思考一些事情

 minval = MAXINT; for (i = 1; i < num_elems; i++) if a[i] < a[i-1] minval = a[i]; 

这不是如何在Python中思考。 更好的翻译到Python(但仍然不是最好的)将是

 minval = a[0] # Just use the first value for i in range(1, len(a)): minval = min(a[i], a[i - 1]) 

请注意,以上完全不使用MAXINT。 解决scheme的这一部分适用于任何编程语言:您不需要知道最高可能的值就可以find集合中最小的值。

但无论如何,你真的在Python中做的只是

 minval = min(a) 

也就是说,你根本不写一个循环。 内置的min()函数获取整个集合的最小值。

与C / C ++不同,Python中的Long有无限精度。 有关更多信息,请参阅python中的数字types一节。要确定整数的最大值,可以引用sys.maxint 。 你可以从sys的文档中获得更多的细节。

Python 2.x中的longtypes使用任意的精度算术 ,没有最大可能的值。 它受可用内存的限制。 对于不能由本地机器整数表示的值,Python 3.x没有特殊的types – 一切都是int ,转换是在幕后处理的。

你可以使用:float的最大值是

 float('inf') 

为负面

 float('-inf')