帮助进行按位运算
我想根据我正在使用的第三方函数仔细检查我的一些逻辑,并且我不确定我是否正确地计算出了按位逻辑。有人可以给我在每个场景中变量“intValue”的一系列值,这将导致每个条件返回 true 吗?谢谢!
if ((intValue < 0 && ((intValue & 0xFFFFFF80) == 0xFFFFFF80)) ||
(intValue & 0x0000007F) == intValue) {
}
else if ((intValue < 0 && ((intValue & 0xFFFF8000) == 0xFFFF8000)) ||
(intValue & 0x00007FFF) == intValue) {
}
else if ((intValue < 0 && ((intValue & 0xFF800000) == 0xFF800000)) ||
(intValue & 0x007FFFFF) == intValue) {
}
else {
}
I want to doublecheck some of my logic against a 3rd party function that I am using and I'm not sure if I've got the bitwise logic figured out correctly or not. Can someone give me a range of values for the variable 'intValue' in each scenario that will cause each conditional to return true? thanks!
if ((intValue < 0 && ((intValue & 0xFFFFFF80) == 0xFFFFFF80)) ||
(intValue & 0x0000007F) == intValue) {
}
else if ((intValue < 0 && ((intValue & 0xFFFF8000) == 0xFFFF8000)) ||
(intValue & 0x00007FFF) == intValue) {
}
else if ((intValue < 0 && ((intValue & 0xFF800000) == 0xFF800000)) ||
(intValue & 0x007FFFFF) == intValue) {
}
else {
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
请注意,所有
intValue <如果变量类型是有符号的,0
测试是完全多余的。Please note that all the
intValue < 0
tests are completely redundant if the variable type is signed.这里有一个提示:
请参阅:
C# 将整数转换为十六进制并再次转换回来
Here's a hint:
See:
C# convert integer to hex and back again