首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

请问一个python的int越界的简单有关问题

2013-11-15 
请教一个python的int越界的简单问题本人刚接触python,在看python代码的时候,发现有个地方将一个字符串转成

请教一个python的int越界的简单问题
本人刚接触python,在看python代码的时候,发现有个地方将一个字符串转成int型,但此数值超过了100亿,为何没有报int型越界或精度丢失?我自己写了个简单的代码测试,发现也正常。

a = "123456789123456789"
b=int(a)*10
print(int(a))
print(b)
print(int(b))

----------------------------
返回结果
--------------------------
123456789123456789
1234567891234567890
1234567891234567890

请问这是怎么回事?我上网查了,说python的int型也是4个字节,就是最大值也只是2^31
而已啊,为何此结果远远超过这个值,还没有出现异常?
[解决办法]
python在做数值计算好像没有越界的问题,就看机器承受能力
但做位运算就会显现字节问题,尤其是取反操作会有点混乱(个人感觉)
[解决办法]
python 自带大数整数运算,整数不会溢出,只要内存足够
[解决办法]
python 2.x有分int和long,int就是一般说四字节那种,long是大数型没限制看机器能力,绝大部分情况下int都会自动转long,所以不报错。3.x后不再区分这两种统称int...
[解决办法]
python应该不会越界的

热点排行