为了账号安全,请及时绑定邮箱和手机立即绑定

Python如何管理int和long?

Python如何管理int和long?

海绵宝宝撒 2019-11-15 12:56:48
有人知道Python如何在内部管理int和long类型吗?它会动态选择合适的类型吗?一个整数的限制是多少?我正在使用Python 2.6,与以前的版本有所不同吗?我应该如何理解以下代码?>>> print type(65535)<type 'int'>>>> print type(65536*65536)<type 'long'>更新:>>> print type(0x7fffffff)<type 'int'>>>> print type(0x80000000)<type 'long'>
查看完整描述

3 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

在我的机器上:


>>> print type(1<<30)

<type 'int'>

>>> print type(1<<31)

<type 'long'>

>>> print type(0x7FFFFFFF)

<type 'int'>

>>> print type(0x7FFFFFFF+1)

<type 'long'>

Python使用整数(32位有符号整数,我不知道它们是否是C整数)适合适合32位的值,但是对于任何东西,它都会自动切换为长整数(任意大的位数,即bignums)更大。我猜想这将加快速度以实现较小的值,同时通过无缝过渡到bignum避免任何溢出。


查看完整回答
反对 回复 2019-11-15
  • 3 回答
  • 0 关注
  • 780 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信