#include<stdio.h>intmain(){char c =0x31;//0011 0001Bint count =0;for(int i =0; i <8; i++){if(c &0x01)
count ++;
c = c >>1;}printf("total %d '1'", count);return0;}
#include<stdio.h>voidbinary_out(int n,int start,int end);intmain(){int x =4+16+64;//0101 0100Bbinary_out(x,2,6);return0;}voidbinary_out(int n,int start,int end){
n = n >> start;for(int i =0; i < end -start +1; i++){printf("%d",(n &0x1)?1:0);
n = n >>1;}}
#include<stdio.h>voidbinary_out(int n,int start,int end);intmain(){int x =4+16+64;//0101 0100Bbinary_out(x,2,6);return0;}voidbinary_out(int n,int start,int end){
n = n >> start;for(int i =0; i < end -start +1; i++){printf("%d",(n &0x1)?0:1);
n = n >>1;}}
#include<stdio.h>voidbinary_out(int n,int p,int v);intmain(){int x =4+16+64;//0101 0100Bbinary_out(x,0,1);return0;}voidbinary_out(int n,int p,int v){for(int i =0; i <32; i++){if(i ==31- p){printf("%d", v);}else{printf("%d",(n &0x80000000)?1:0);}if(i %4==3)printf(" ");
n = n <<1;}}
#include<stdio.h>intcreat(int n);intmain(){int n =4+16+64;//0101 0100Bcreat(n);return0;}intcreat(int n){int x =0, i;int b_n[32]={0}, b_x[32]={0};/*store the binary style of n in array b_n[]*/for(i =0; i <32; i++){
b_n[i]=(n &0x80000000)?1:0;
b_x[i]= b_n[i];
n = n <<1;}/*xor operation*/for(i =1; i <31; i++){
b_x[i]=(b_n[i-1]^ b_n[i+1]);}/*binary to decimal*/for(i =0; i <32; i++){
x = x *2+ b_x[i];}printf("binary of n:");for(i =0; i <32; i++){printf("%d", b_n[i]);if(i %4==3)printf(" ");}printf("B\n");printf("binary of x:");for(i =0; i <32; i++){printf("%d", b_x[i]);if(i %4==3)printf(" ");}printf("B\n");printf("decimal of x:%dD", x);}