【发布时间】:2013-11-17 19:29:48
【问题描述】:
我们可以将变量定义为整数值,例如
x = 3
y = -2
然后使用二元运算符&、|、^ 和~ 对位进行操作。问题是我们是否总是在每个架构上得到相同的结果,还是行为架构是特定的?
我们总是可以假设整数的补码表示吗?
【问题讨论】:
-
任何编程语言的整数数据类型都必须依赖于架构,更准确地说是地址总线宽度。
-
@MarcellFülöp 编程语言的数据类型不必与架构提供的数据类型相匹配。
-
@MarcellFülöp:这不是真的。例如,在 Java 中,
int始终具有相同的大小和相同的行为,而与架构无关。由 Java 实现者来确保 JVM 行为正确,即使这不是体系结构最有效的大小。
标签: python binary integer cpu-architecture twos-complement