我们可以将变量定义为整数值,例如
x = 3
y = -2
然后使用二元运算符&
、|
、^
和~
对位进行运算。问题是我们是否总是在每种架构上得到相同的结果,或者行为架构是否特定?
我们总是可以假定整数的二进制补码表示吗?
最佳答案
Python 2.x 支持两种整数类型:int
和long
。 int
基于底层 C long 类型,long
是任意精度类型。非常早期的 Python 版本(pre-2.2)将这些类型视为两个独立的类型,但它们在 Python 2.2 中大多合并在一起。
Python 3.x 仅使用任意精度类型。
位运算的行为就像应用于任意精度 2 的补码。如果需要,int
将自动提升为 Python 2.x 中的 long
。
跨平台的行为是一致的。
关于python - python int 的架构是特定的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19814153/