首页 > 其他 > 详细

打印整数二进制的奇数位和偶数位

时间:2020-11-04 18:42:10      阅读:61      评论:0      收藏:0      [点我收藏+]
//第一次尝试:
#define
_CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> //void PrintOE(int num,int arro[16],int arre[16]) { // int num1 = 1; // int num2 = 2; // for (int i = 0; i < 16; i++,num1=num1<<2) { // if ((num & num1) == num1) { // arro[i] = 1; // } // else { // arro[i] = 0; // } // } // for (int i = 0; i < 16; i++, num2 = num2 << 2) { // if ((num & num2) == num2) { // arre[i] = 1; // } // else { // arre[i] = 0; // } // } //} // //void Print(int arro[16], int arre[16]) { // for (int i = 15; i >= 0; i--) { // printf("%d", arro[i]); // } // printf("\n"); // for (int i = 15; i >= 0; i--) { // printf("%d", arre[i]); // } //} void PrintEO(int num) { for (int i = 31; i > 0; i-=2) { printf("%d", (num >> i) & 1); } printf("\n"); for (int i = 30; i >= 0; i-=2) { printf("%d", (num >> i) & 1); } } int main() { /*int arro[16] = { 0 }; int arre[16] = { 0 };*/ printf("请输入一个数:"); int num = 0; scanf("%d", &num); //PrintOE(num,arro,arre); //Print(arro, arre); PrintEO(num); return 0; } //一开始以为编译器中是算术右移,会影响计算结果所以使用了一串很长的代码才实现功能 //后来想了一下,我只需要将我需要的那一位移动到第一位,然后和1与即可,其他位不管怎么变化都不影响结果
//于是使用了更简便的代码实现了功能

 

打印整数二进制的奇数位和偶数位

原文:https://www.cnblogs.com/zhm521/p/13927131.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!