繁体   English   中英

按位运算符-精度

[英]Bitwise operators - precision

我似乎要坚持的三个问题:

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

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

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

1,为什么此代码x和〜077比这行代码x&0177700更好。

因为在第二篇文章中,您假设x的整数类型的长度

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM