1

我似乎坚持的三个问题:

  1. 为什么代码x & ~077比这行代码好x & 0177700。会不会是因为精度损失较少?

  2. 为什么此代码在数字中设置第 5 位不正确? num = num + 0x20 是不是因为我们需要使用逻辑或,|而不是+

  3. 为什么这段代码x & 0xFF比这行代码好(x << 24) >> 24?正确的表达式可能会导致更改原始 int 的符号扩展。从我所做的示例中,我确信这是正确的。

4

1 回答 1

1

1、为什么这行代码x&~077比这行代码x&0177700好。

因为在第二个中,您对 x 的整数类型的长度进行了假设

2,为什么这个代码设置数字中的第5位不正确?num = num + 0x20 会不会是因为我们需要使用逻辑或 | 而不是 +?

是的!他们是不同的运营商。

于 2013-01-22T23:08:11.787 回答