我最近正在学习python,并且已经阅读了有关python中整数的无限位表示形式的信息,但实际上并没有理解其背后的技术或数学原理。所以这里的任何人都知道它是如何工作的。
我在研究按位运算符时已经通过此链接阅读了它:
虽然我不确切知道它是如何在Python中实现的,但重要的是要认识到,尽管任意大整数可以在Python中处理,但它不能处理无限数。因此,Wiki有点误导。
任何整数都是有限的,可以以有限形式表示。因此,处理该问题的一种方法是使数组中的第一位是无限重复的约定。例如:
-5 = 11111011 = ...1111111011
+3 = 00000011 = ...0000000011
在这些示例中,我显示了每个数字的固定8位表示形式及其“无限”表示形式。
这些基本上是BitArrays,然后我们可以从其上实现算术。