首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python 内部是如何实现整数相加溢出的?

不过今天,我想接着昨天的话题,聊一聊 Python 是如何实现整数相加溢出的?...刚才提到 256 = [1,1] 的形式也不是真实情况,因为 PyLongObject 不仅仅是为了存储大整数,也需要参与运算,具体怎么运算呢,那就是 ob_digit 逐位相加即可。...#endif 聪明的你,可能会问,31 位就可以保证溢出,为啥牺牲两位,用 30 位,答案我也不知道,可能是因为 64 是 32 的两倍, 30 也是 15 的两倍,这样看起来更舒服吧。...现在看一下 x_add 的源代码: 可以看到,Python 大整数的相加就是底层数组的相加,当然还会涉及到进位等操作: for (i = 0; i < size_b; ++i) {  carry +=...看源码会比较辛苦,却可以学到精髓和本质,本文通过源码逐层展开,带你了解了下 Python 整数对象的实现、整数内存大小的计算,整数池,整数加减法源码,相信你已经知道了 Python 是如何实现整数想加而溢出的

97630
您找到你想要的搜索结果了吗?
是的
没有找到
领券