文章标签 ‘强制转化long到int’

python 中强制转换long型为int型

2012年2月16日 没有评论

python的int型最大值和系统有关,32位和64位系统看到的结果是不一样,分别为2的31次方减1和2的63次方减1,可以通过sys.maxint查看此值。

python2.4版本以后,如果int的值超出范围不会溢出,而是内部转换为long,找了很久似乎没有从long型强制转换成int,这里所说的int取值范围是和java里一致,即用四个字节表示。代码如下:

def longToInt(value):
	if value > 2147483647 :
		return (value & (2 ** 31 - 1))
	else :
		return value

通过测试,在32位和64位上运算结果一致,另外2 ** 31 – 1换成常量2147483647对性能有微小的提升。

分类: Python 标签:

无觅相关文章插件,快速提升流量