为了账号安全,请及时绑定邮箱和手机立即绑定

长整数的最大值

长整数的最大值

慕桂英3389331 2019-08-17 16:33:30
长整数的最大值如何将长整数的最大值分配给变量,例如,类似于C ++的变量LONG_MAX。
查看完整描述

3 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

长整数:

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

>>> 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可以用作大于任何实际列表或字符串索引的整数。它符合实现的“自然”整数大小,并且通常与同一平台上以前版本中的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.maxsizeTrue


查看完整回答
反对 回复 2019-08-17
?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

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


查看完整回答
反对 回复 2019-08-17
?
皈依舞

TA贡献1851条经验 获得超3个赞

直接回答标题问题:

整数大小不受限制,在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 valuefor i in range(1, len(a)):
    minval = min(a[i], a[i - 1])

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

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

minval = min(a)

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


查看完整回答
反对 回复 2019-08-17
  • 3 回答
  • 0 关注
  • 1203 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信