&,二进制序列,两个同时为1才为1,否则为0,
>> 右移操作符 对于符号位满足算术右移,对于无符号位满足逻辑右移
右移n的二进制序列把奇数和偶数上的二进制数字,得到那个奇数或偶数上的0或1的二进制序列,再&1,如果是一,得到1,输出,反之得到0,输出0,从左到右,依次便利,循环n/2次
分为两个循环,一个输出奇数上的二进制序列,一个输出偶数上的二进制序列,
void Fun(int n)
{
printf("奇位:");
for (int i = 30;i>=0; i -= 2)
{
printf("%d ", (n >> i) & 1);
}
printf("\n");
printf("偶位:");
for (int i = 31; i >= 1; i -= 2)
{
printf("%d ", (n >> i) & 1);
}
}
int main()
{
//0000 0001
//0000 0011
//0000 0001
Fun(10);
}