长整数的最大值

Sre*_*akh 103 python

如何将长整数的最大值分配给变量,例如,类似于C++的变量LONG_MAX.

key*_*ser 126

长整数:

没有明确定义的限制.可用地址空间量构成实际限制.
(取自网站).请参阅数字类型的文档,您将看到它们Long integers have unlimited precision.在Python 2中,当Integers超出限制时,它们会自动切换到long:

>>> import sys
>>> type(sys.maxsize)
<type 'int'>
>>> type(sys.maxsize+1)
<type 'long'>
Run Code Online (Sandbox Code Playgroud)


对于整数我们有

maxint和maxsize:

int的最大值可以在Python 2.x中找到sys.maxint.它已在Python 3中删除,但sys.maxsize通常可以使用它.来自更改日志:

删除了sys.maxint常量,因为不再对整数值进行限制.但是,sys.maxsize可以用作大于任何实际列表或字符串索引的整数.它符合实现的"自然"整数大小,并且通常与同一平台上以前版本中的sys.maxint相同(假设具有相同的构建选项).

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

sys.maxint Python常规整数类型支持的最大正整数.这至少是2**31-1.最大的负整数是-maxint-1 - 使用2的补码二进制算法产生不对称性.

sys.maxsize平台的Py_ssize_t类型支持的最大正整数,因此最大大小的列表,字符串,dicts和许多其他容器都可以.

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

sys.maxsize 一个整数,给出一个Py_ssize_t类型的变量的最大值.在32位平台上通常为2 ^ 31 - 1,在64位平台上为2 ^ 63 - 1.

花车:

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

>>> import sys
>>> float("inf") > sys.maxsize
True
Run Code Online (Sandbox Code Playgroud)


Tay*_*mon 37

Python long可以任意大.如果您需要一个比任何其他值更大的值,您可以使用float('inf'),因为Python在比较不同类型的数值时没有任何问题.同样,对于小于任何其他值的值,您可以使用float('-inf').

  • 它返回浮点无穷大,它大于任何有限数. (4认同)
  • 我不得不说,这个答案对于回应OP的标题问题肯定是最接近正确的.也就是说,"你如何得到一个比你所有输入更大的Python哨兵值(或者至少不小于最大值)?" 所以我赞成这个答案,但我认为如果OP学会用Python思考它会更好. (4认同)

Joh*_*n Y 21

直接回答标题问题:

整数大小不受限制,在Python中没有最大值.

回答哪些地址陈述了基本用例:

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

minval = MAXINT;
for (i = 1; i < num_elems; i++)
    if a[i] < a[i-1]
        minval = a[i];
Run Code Online (Sandbox Code Playgroud)

这不是如何用Python思考的.更好的Python翻译(但仍然不是最好的)将是

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

注意,上面根本不使用MAXINT.解决方案的这一部分适用于任何编程语言:您不需要知道最高可能值,只是为了找到集合中的最小值.

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

minval = min(a)
Run Code Online (Sandbox Code Playgroud)

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


rkh*_*rov 8

longPython 2.x中的类型使用任意精度算术,并且没有最大可能值.它受可用内存的限制.Python 3.x对于无法用本机整数表示的值没有特殊类型 - 一切都是int在后台处理转换.


Abh*_*jit 7

与C/C++不同,Python中的Long具有无限精度. 有关更多信息,请参阅python中的数字类型部分.要确定整数的最大值,您可以参考sys.maxint.您可以从sys的文档中获取更多详细信息.