(x && 0xf)を使用して1を確認できましたが、0を検出する方法がわかりません。
check_zeros(int y){
} //return 1 if 0 is found
あなたはこれを行うことができます:
int check_zeros(int y) {
return (y & 0xff) != 0xff;
}
は0xff
、すべてのビットが1に設定されたバイトを表します。
それが8ビット値(0から0xFFまで)であると仮定します:
int check_zeros(int y) {
return y < 0xFF;
// alternatively: return y != 0xFF;
}
関数を宣言しているので、yはバイトではなく、整数です。したがって、yの任意のビットがゼロであるかどうかを調べたいと思います。
int check_zeros(int y)
{
return ((~y) != 0);
}