如何取出一个字节中的任意位(bit)

 方法一:

#include <iostream>
#include <math.h>
using namespace std;

int main()
{
    unsigned char c = 0x33;
    int b[8];
    for(int i =0; i<8; i++)
    {
        b[i] = ((c & (unsigned char)pow(2, i)) >> i);
        cout<<b[i]<<endl;
    }
    return 0;
}

输出:

1  1  0  0  1  1  0  0

方法二:

#include <iostream>
#include <math.h>
using namespace std;

int main()
{
    unsigned char c = 0x33;
    int b[8];
    for(int i =0; i<8; i++)
    {
        b[i] = ((c >> i) & 1);
        cout<<b[i]<<endl;
    }
    return 0;
}

输出:

1  1  0  0  1  1  0  0

猜你喜欢

转载自blog.csdn.net/mikasoi/article/details/84311508