#include<stdio.h>intcompare_Dif(int num1,int num2){int c = num1 ^ num2;int count =0;while(c){
count++;
c = c &(c -1);}return count;}intmain(){int num1, num2;printf("please input num1 , num2 #>");scanf("%d %d",&num1,&num2);int count =compare_Dif(num1, num2);printf("The two nums has %d different bits!\n", count);}
打印整数二进制的奇数位和偶数位
#include<stdio.h>voidprint_bit(int num){int n = num;//打印整数的二进制printf("BINARY:> ");for(int i =31; i >=0; i -=1){printf("%d",(num >> i)&1);}//打印奇数位printf("\nODD DIGIT:> ");for(int i =31; i >=0; i -=2){printf("%d ",(num >> i)&1);}//打印偶数位printf("\nEVEN DIGIT:> ");for(int i =30; i >=0; i -=2){printf(" %d",(n >> i)&1);}}intmain(){int num;printf("Please input a num:> ");scanf("%d",&num);print_bit(num);return0;}
打印二进制数中一的个数
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>intbinNum_one(num){int count=0;while(num){
num &=(num -1);
count++;}return count;}intmain(){int num;printf("Please input num:> ");scanf("%d",&num);printf("The number of 1 in binary number is %d .",binNum_one(num));return0;}