Python中最小的负整数[重复]

Posted

技术标签:

【中文标题】Python中最小的负整数[重复]【英文标题】:smallest negative int in Python [duplicate] 【发布时间】:2016-01-19 21:06:37 【问题描述】:

我正在使用 Python 2.7.x 堆栈。并将 sys.maxint 用于正最大整数(如果使用错误,请随时纠正我)。有时我还需要将一个整数初始化为最小的负整数值。想知道 Python 2.7.x 堆栈中最优雅/正确的方法是什么?

提前致谢, 林

【问题讨论】:

当心 - sys.maxint + 1 可以正常工作,不会溢出。 Python 只会给你一个long 【参考方案1】:

对于比较(例如找出最小值等),我通常使用 float('-inf') ,这不是 int,但比任何 int 都小,可用于与 int 进行比较。示例 -

>>> float('-inf')
-inf

>>> -sys.maxint -1 > float('-inf')
True

【讨论】:

哦!太棒了,我再也不会使用狡猾的随机初始值进行比较了。谢谢!【参考方案2】:
-sys.maxint - 1

由于整数在二进制中的表示方式,负限制总是与正限制分开。

【讨论】:

谢谢。为什么需要-1? 请注意,Python 对整数值没有限制。请参阅***.com/questions/7604966/…。 -1 是因为在通常的2's complement 表示中,零是正数,所以有一个额外的负数的空间。例如,有符号字节范围从 -128 到 127。 @jjmontes:这是……误导,取决于您如何解释“整数”。至少在 Python 2 中,它对整数值没有限制,但对 int 确实有限制(在 maxint 之后,它们是 long)。

以上是关于Python中最小的负整数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

JS leetcode 存在重复元素 II 题解分析,记一次震惊的负向优化

编写一个JAVA应用程序 找出几个整数中最小的一个

使用 if_abs 将负整数转换为正数 [重复]

verilog入门-----表达式

C# WinForms - DataGridView/SQL Compact - 主键列中的负整数

Python-如何确定我的系统可以处理的最大/最小 int/long/float/复数 [重复]