C语言获取一个数二进制序列中所有的偶数位和奇数位并分别输出其二进制序列。

代码如下:

#include
void test(int n){          //方法一:从高位 ->  低位  顺序输出
	for (int i = 31; i >0; i -= 2){     //偶数
		printf("%d ", (n >> i) & 1);
	}
	printf("\n");
	for (int i = 30; i >=0; i -= 2){    //奇数
		printf("%d ", (n >> i) & 1);
	}
	printf("\n");
}
void test1(int n){     //方法二 :从低位 -> 高位  顺序输出
	for (int i = 1; i <= 31; i += 2){      //偶数
		printf("%d ", (n >> i) & 1);
	}
	printf("\n");
	for (int i = 0; i<= 31; i += 2){    //奇数
		printf("%d ", (n >> i) & 1);
	}
	printf("\n");
}
int main(){
	int input;
	scanf("%d", &input);
	printf("高位->低位:\n");
	test(input);
	printf("\n");
	printf("低位->高位:\n");
	test1(input);
	return 0;
}

输出结果如下:
C语言获取一个数二进制序列中所有的偶数位和奇数位并分别输出其二进制序列。_第1张图片

你可能感兴趣的:(C)