当涉及到按位数学时,我只是一个新手 - 如果这甚至是正确的术语 - 并且正在寻找一种更好的方法来对 int-summed 返回代码进行逻辑处理(这是各种 Unix 程序的标准)。即返回码可以是1、2、4、8等的任意组合
到目前为止,这是我的代码(片段):
[...]
if (result == 0)
//no problem
else {
if ((result > 127) && (result % 128 == 0)) {
// exit code contained 128
result = result - 128;
}
if ((result > 63) && (result % 64 == 0)) {
// exit code contained 64
result = result - 64;
}
[...]
if (result > 0) {
// exit code contained 1
}
}
我知道我应该能够使用 AND (&) 之类的按位运算符来执行此操作,但不知道该怎么做。不过,我不太了解按位运算,即if (result & 64)
如果返回码为 128,我是否也能做到这一点?
显然我对二进制数学的理解令人震惊,我从来没有真正在这方面做过代码。只是寻找对正确按位方法的一些说明。