char* bin2hex(int*a){
char*numChar=(char*)malloc(sizeof(char)*9);
int cnt = 0, tmp=0;
while(cnt<32){
for(int i=0;i<4;i++){
tmp = tmp*2 + a[cnt+i];
}
if(tmp<10){
numChar[cnt/4] = (char)((int)'0'+tmp);
}else{
numChar[cnt/4] = (char)((int)'A'+(tmp)-10);
}
cnt+=4;
tmp=0;
}
numChar[8]='\0';
return numChar;
}
int main(){
int num[32],cnt=0,time=0;//1个整数32位
int a = 136;
char*numChar;
unsigned tmp = a;
while(tmp){
num[31-cnt]=tmp&1;
tmp>>=1;
cnt++;
}
while(cnt<32){
num[31-cnt]=0;
cnt++;
}
for(int i=0;i<32;i++){
if(time>0&&time%4==0)
printf(" ");
time++;
printf("%d",num[i]);
}
printf("\n");
numChar=bin2hex(num);
printf("%s\n",numChar);
system("pause");
}