Python的整数、浮点数没有大小限制?

之前学过C,现在学Python 3.5,下图来自廖雪峰网站

clipboard.png

为什么Python整数、浮点数没有大小限制??Python中整数和浮点数怎样储存的?

是不是说Python所有声明整数、浮点数就直接相当于C中的long long和long double之类的,就直接最大内存分配吗?

阅读 17.5k
2 个回答

Python 的整数,理论上来说只要内存放得下,可以是任意长度的(远超long long)。
如果C的long装得下,就用long装,装不下就自动转换到大整数,这一过程对于程序员基本透明。
而浮点数,应该就是C的double类型。

Floating point numbers are usually implemented using double in C. ——Python官方文档

在Python中,整数是只要内存够,长度是无限制的,应该是比C里面的long long大很多的。

浮点数是用机器上的双精度(64 bit)的,提供大约17位有效数字,应该跟C里面的double类型是差不多的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题