python - python int 的架构是特定的吗?

标签 python binary integer cpu-architecture twos-complement

我们可以将变量定义为整数值,例如

x = 3
y = -2

然后使用二元运算符&|^~ 对位进行运算。问题是我们是否总是在每种架构上得到相同的结果,或者行为架构是否特定? 我们总是可以假定整数的二进制补码表示吗?

最佳答案

Python 2.x 支持两种整数类型:intlongint 基于底层 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/

相关文章:

python - 使用 Python Selenium 从下拉菜单中获取当前 <select> 值

python - 没有名为 appengine.api 的模块

binary - 为什么负归一化浮点二进制数不能以 11 开头?

algorithm - 递归生成所有长度为 n 的二进制字符串的最佳方法是什么?

python - 检查 Pandas 数据框列中的值是否为整数,如果不是则将其写入列表

python - NoReverseMatch 错误,尝试在 Django 中设置详细页面 View

python - Pandas 按特定类别对行求和

c++ - 将 ascii 字符十进制值的字符串转换为二进制值

random - Julia,生成四个 1 :3, 之间的 Int8 整数数组,我需要一个包吗?

c - 环绕整数的最优雅方式