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

代码如下:

#include<stdio.h>
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;
}

输出结果如下:
在这里插入图片描述

发布了27 篇原创文章 · 获赞 10 · 访问量 688

猜你喜欢

转载自blog.csdn.net/m1059247324/article/details/102761007