[英]Bitwise operators - precision
我似乎要坚持的三个问题:
为什么代码x & ~077
比代码x & 0177700
这一行更好。 会因为精度损失少吗?
为什么此代码不能正确设置数字中的第5位? num = num + 0x20
是因为我们需要使用逻辑或|
,而不是+
吗?
为什么此代码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.