Bit manipulation 一种按位操作的序列,对按二分组的位进行操作

Bit manipulation 一种按位操作的序列,对按二分组的位进行操作,bit-manipulation,bitwise-operators,Bit Manipulation,Bitwise Operators,我正在寻找具有 以下财产: | 00 01 10 11 ---|--------------- 00 | 00 01 | 01 01 10 | 00 01 00 11 | 00 01 11 11 操作的位组位于垂直方向上 和水平边距,结果矩阵是对称的。下面的代码实现了您希望在C/C++中实现的功能 #include<stdio.h> int main(void) { int i, j; for(i=0; i<4; i++) {

我正在寻找具有 以下财产:

   | 00  01  10  11
---|---------------
00 | 00
01 | 01  01
10 | 00  01  00
11 | 00  01  11  11
操作的位组位于垂直方向上
和水平边距,结果矩阵是对称的。

下面的代码实现了您希望在C/C++中实现的功能

#include<stdio.h>
int main(void)
{
    int i, j;
    for(i=0; i<4; i++)
    {
        for(j=0; j<4; j++)
        {
            int x = i&j&(i|j)<<1|(i|j)&(~((i^j)&(i^j)>>1)|(i>>1^i))&1;
            printf("%d%d ", x>>1, x&1);
        }
        printf("\n");
    }
    return 0;
}
#包括
内部主(空)
{
int i,j;
对于(i=0;i1^i))&1;
printf(“%d%d”,x>>1,x&1);
}
printf(“\n”);
}
返回0;
}