我似乎坚持了三个问题:
为什么代码x & ~077
比这行代码x & 0177700
更好。
是不是因为精度损失较少?
为什么这个代码在数字中设置第5位不正确?
num = num + 0x20
是因为我们需要使用逻辑或|
,而不是+
?
为什么此代码x & 0xFF
比这行代码(x << 24) >> 24
更好?
正确的表达式可能会导致符号扩展,从而更改原始int。我相信我所做的例子是正确的。
答案 0 :(得分:1)
1,为什么这个代码x&amp; ~077比这行代码x&amp;更好0177700.
因为在第二个中你假设x的整数类型的长度
2,为什么这个代码在数字中设置第5位不正确? num = num + 0x20是不是因为我们需要使用逻辑或,而不是+?
是的!他们是不同的运营商。