首页 > Python > python 中强制转换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对性能有微小的提升。



欢迎转载,转载请注明文章出处,谢谢!
垃圾有点差凑合看还不错很精彩 (2 人打了份: 平均分:4.50)
Loading...Loading...
分类: Python 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.

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