如何用C语言获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列

来源:互联网 发布:js动态增加表格 编辑:程序博客网 时间:2024/06/05 13:25

方法一:

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>int main(){int num, i;printf("please enter a number:\n");scanf("%d", &num);printf("偶数序列为:\n");for (i = 31; i >= 1; i -= 2){if ((num >> i) & 0x1){printf("1");}elseprintf("0");}printf("\n");printf("奇数序列为:\n");for (i = 30; i >= 0; i -= 2){if ((num >> i) & 0x1){printf("1");}elseprintf("0");}system("pause");return 0;}
方法二:

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>int main(){int num, i,b[32];printf("please enter a number:\n");scanf("%d", &num);for (i = 0; i <= 31; i++){if ((num >> i) & 0x1)b[i] = 1;elseb[i] = 0;}    printf("偶数序列为:\n");for (i = 31; i >= 1; i -= 2){printf("%d", b[i]);}printf("\n");printf("奇数序列为:\n");for (i = 30; i >= 0; i -= 2){printf("%d", b[i]);}system("pause");return 0;}
小结:方法一和方法二的中心思想大致一致,不过方法一语法更简洁,它是直接从高位输出,而方法二是先将低位依次存入数组,然后将数组中的元素倒序输出。


1 0
原创粉丝点击