输出一个数的二进制数的奇数序列和偶数序列(三种方法)
2016-04-11 20:02
459 查看
一、 #include<stdio.h> int main() { int a,i,j,m; int arr[32]={0}; printf("输入一个整数:\n"); scanf("%d",&a); printf("二进制数为:\n"); for(i=0;i<32;i++) { m=a%2; j=a/2; a=j; arr[i]=m; } for(i=32;i>=0;i--) { printf("%d",arr[i]); if(i%4==0) printf(" "); } printf("\n"); printf("偶数序列:"); for(i=31;i>=0;i-=2) { printf("%d",arr[i]); } printf("\n"); printf("奇数序列:"); for(i=30;i>=0;i-=2) { printf("%d",arr[i]); } printf("\n"); return 0; } 二、 #include<stdio.h> int main() { int value; int i = 0; int arr1[16]; int arr2[16]; scanf("%d",&value); while (i < 32) { arr1[i/2] = value % 2; value = value >> 1; i++; arr2[(i-1)/2] = value % 2; value = value >> 1; i++; } printf("奇数序列"); for(i=15;i>=0;i--) printf("%d",arr1[i]); printf("\n"); printf("偶数序列"); for(i=15;i>=0;i--) printf("%d",arr2[i]); printf("\n"); return 0; } 三、优化 #include<stdio.h> int main() { int value; int i=0; scanf("%d",&value); printf("偶数序列"); for(i=0;i<32;i+=2) { printf("%d",(value>>(31-i)&1)); } printf("\n"); printf("奇数序列"); for(i=0;i<32;i+=2) { printf("%d",(value>>(30-i)&1)); } printf("\n"); return 0; }
相关文章推荐
- 将十进制转换为二进制和十六进制
- 用正确的方式写if语句——与零值作比较
- 打印100—200之间的素数及优化
- qt+evaluatejavascript
- 常用直线图形生成算法(一)
- 多态继承传递时程序输出匹配顺序
- android api汇集
- Problem C: 数组---求数组中的最大值
- APP自动化(1)——搭建Appium自动化测试平台环境(基于python&android)
- Google网络请求框架Volley源码浅析(二)
- 查找未公开的oracle初始化参数
- 不用游标遍历数据库执行脚本
- Main
- android 关于textview跑马灯的问题解决方案
- 通过接口定义Fragment之间的跳转
- scheduledTimerWithTimeInterval和timerWithTimeInterval的区别
- Tomcat下部署Jenkins无法打开(404)的解决办法
- Hibernate Session 事务隔离级别回顾 持久化对象的状态 Session核心方法
- mac版的PS和DW破解版安装
- ZOJ 3931 Exact Compression