1

(x && 0xf)を使用して1を確認できましたが、0を検出する方法がわかりません。

check_zeros(int y){


} //return 1 if 0 is found
4

3 に答える 3

6

あなたはこれを行うことができます:

int check_zeros(int y) {
    return (y & 0xff) != 0xff;
}

0xff、すべてのビットが1に設定されたバイトを表します。

于 2012-09-13T05:25:03.030 に答える
1

それが8ビット値(0から0xFFまで)であると仮定します:

int check_zeros(int y) {
    return y < 0xFF;
    // alternatively: return y != 0xFF;
}
于 2012-09-13T05:27:56.120 に答える
1

関数を宣言しているので、yはバイトではなく、整数です。したがって、yの任意のビットがゼロであるかどうかを調べたいと思います。

int check_zeros(int y)
{
    return ((~y) != 0);
}
于 2012-09-13T05:38:25.547 に答える