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

hak*_*121 6 python math max min python-3.x

规格: Python 3.3.1

我试图做的是: "使用Python,确定系统可以处理的最大和最小的整数,长整数,浮点数和复数."

我做了什么:我经历了Python的数学模块和所有与数学和数字相关的内置函数,但是找不到这样做的方法.我也尝试了类似的东西,max(range(0,))但它返回ValueError: max() arg is an empty sequence错误.

问题:如何确定我的系统可以使用Python处理的最大/最小int/long/float /复数?作为一个初学者,我知道我一定错过了什么,但我尝试过并且无法弄明白.我感谢您的帮助!

Mar*_*ers 12

sys模块中提供了python数字限制,例如有任何数字限制:

  • sys.float_info是一个名为元组,具有您平台的浮点限制.浮点数由指数和精度组成; 你必须更准确地说明你所说的最大数字; 具有最大指数的数字和使用的完全精度是sys.float_info.max.

  • sys.int_info; 与实施细节相比没有那么多限制; 你应该能够估计出可能的最大整数.Python整数仅受可用内存的限制.

  • sys.maxsize; 平台字大小和列表和元组等的限制.

因此对于整数,基本上对最大值和最小值存在限制.这取决于您的进程可以使用多少内存,以及您的进程已经用于其他内容的内存量.

在Python 3中,不再有单独的long类型,但在Python 2中,sys.maxsize + 1必须是一个long,就像那样-sys.maxsize - 2.在这两个极端之间存在可能的"短"整数范围.

对于复杂的数字,无论如何,订购更复杂...... 复数有一个实部和虚部,都是浮点数.你猜怎么着?这些是python浮点数,你已经有上面的限制信息:

>>> type(1j)
<type 'complex'>
>>> type(1j.real)
<type 'float'>
>>> type(1j.imag)
<type 'float'>
Run Code Online (Sandbox Code Playgroud)