在 C 语言中,返回实际上是如何返回的?



DAT_1001b50C是一个数字,我有点移动它。 现在我对以下行有一个问题:

return DAT_1001b50C >> 0x10 & 0x7fff;

这条线会返回吗

DAT_1001b50C >> 0x10
and
DAT_1001b50C >> 0x7fff

还是会回来

(DAT_1001b50C >> 0x10) >> 0x7fff

都不是。DAT_1001b50C >> 0x10 & 0x7fff(DAT_1001b50C >> 0x10) & 0x7fff.这会将DAT_1001b50C的值向右移动 16 位,并执行按位 AND 与0x7fff,保持低 15 位并清除剩余位。

最新更新