在c中如何检测字节的任何位是否等于0

时间:2012-09-13 05:24:04

标签: c bit

我能够使用(x&& 0xf)检查1,但我不知道如何检测0。

check_zeros(int y){


} //return 1 if 0 is found

3 个答案:

答案 0 :(得分:6)

你可以这样做:

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

0xff表示一个字节,所有位都设置为1。

答案 1 :(得分:1)

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

int check_zeros(int y) {
    return y < 0xFF;
    // alternatively: return y != 0xFF;
}

答案 2 :(得分:1)

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

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