整数具有无限的精确度。
这个测试
#include <stdio.h>
int main(void) {
printf("%zu bytes", sizeof(long long));
return 0;
}
在Linux下给我8 bytes
或64位。
如何在cpython中实现(这在评论部分已经回答了)?
当实现中的整数超过long long
时会发生什么?
8字节前和8字节后整数之间的算术速度差异有多大?
答案 0 :(得分:-1)
如果我在Python中有更大的数字(不是8个字节)怎么办?
Python将适应并始终存储正确的数字,无需近似值。即使有非常大的INTEGER(但其他类型也不是这样)
它是如何存储在系统中的?像一些较小的整数?
那个python的实现。你可以在这里的源代码中找到它:svn.python.org/projects/python/trunk/Objects/longobject.c(感谢@samgak)
这个号码上的算术大大减慢了吗?
与其他语言一样,当数字在32位系统上大于.e.g 2 ^ 32时,算术会变慢。实施依赖多少。
当遇到这样的号码时,Python会做什么?
巨大的整数以不同的方式存储,所有算术都适合。
Python 2&amp; 2中是否存在任何差异? 3行为除了在Python 2中存储多长并将L附加到字符串表示外?
Python 2和3应具有相同的高级行为。