长整数的最大值
我怎样才能把一个长整数的最大值赋给一个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中的long
types使用任意的精度算术 ,没有最大可能的值。 它受可用内存的限制。 对于不能由本地机器整数表示的值,Python 3.x没有特殊的types – 一切都是int
,转换是在幕后处理的。
你可以使用:float的最大值是
float('inf')
为负面
float('-inf')