1

在对小于int提升到的原始类型进行按位操作时int,在操作后将它们转换回其本机类型。

为什么我们不能简单地对原生类型进行操作?

4

1 回答 1

1

普通 CPU 使用 32 位数字表示来进行这种算术运算。这意味着 CPU 的算术逻辑单元 (ALU) 中的寄存器很可能是 32 位的,这就是 CPU 的工作方式。很明显,隐式转换发生了。

为什么 Java 不将它转换回那个“更小”的类型,我不知道。这是 Java 的创造者的问题。

于 2013-06-22T14:50:41.697 回答