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

当你声明你的函数时, y 不是一个字节,它是一个整数。所以我假设你想知道 y 中的任何位是否为零。

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

假设它是一个 8 位值(从 0 到 0xFF):

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