2011-03-29 109 views
18

即使不是所有的编程语言,整数,浮点数等,我都知道大多数可以容纳的最大数量(无符号或有符号数)。例如pascal的int类型只能保持32768〜。Python数量限制

我想知道的是,什么是对python的int和浮点变量的限制。我尝试了一个小程序来产生非常大的数字,但我没有遇到任何错误。它对这些变量有多大有限制?

我看着的文件中,找不到什么,我一直在寻找:/

帮助将不胜感激,谢谢!

+0

您找不到IEEE浮点信息? http://docs.python.org/tutorial/floatingpoint.html看起来很清楚。 – 2011-03-29 09:58:19

回答

44

早期版本在int上有一个限制,但现在它被删除了,所以你可以说没有限制,它取决于你的计算机的内存。检查this article

+8

A tl; dr版本:小型Python整数适合平台的机器字(例如32位)。如果一个数字不适合,它会自动提升到一个“长”整数,只要你的RAM允许。你不能真正有一个整数溢出。如果你想打包精确的位数(例如接口到C代码),你可以导入struct,ctypes。 – 9000 2011-03-29 10:08:55

+0

加上一个好消息:D – 2016-04-29 17:44:51

-1

这个document提供了良好的起点,如sys.float_info

5

见sys模块:

import sys 
dir(sys) 
print sys.maxint 
help(sys.float_info) 

等。

5

对于“int”,早期版本的Python曾经有过限制。但是,随着Python将“整数”作为一个对象,这会被丢弃。因此,尽管python为value对象引用指向的32位分配,但值超过了2^32,它可以继续向上移动到计算机上的RAM大小。