C/C++取出变量的每一位的值

以前写程序最多也只是字节级别操作,用char和memcpy进行一系列内存操作。此次一个sdk,其状态值直接是每位一个标示,所以需要取出每位进行操作。当然CPP也有丰富的位运算操作,但是虽然也学过,知道意思,但是实际却几乎没用过。这次只能动用它了。

第一种方法:思路就是全部用位与,这样就能取出来每一位是否为1。直接上代码吧,反正看了也就理解了。

    uint j = 1;
    for (uint k = 0;k < sizeof(uint) * 8;(j = j<<1),k++){
        std::cout << "The " << k << " bit is :" << (i&j)  << std::endl;
    }

这是取一个无符号整数的, 继续阅读“C/C++取出变量的每一位的值”