二进制转16进制
#include<stdio.h> #include<string.h> int main(){ int N,n,k,t,i,j,m; char a[10005]; int b[10005]={0}; scanf("%d",&N); //2 while(N--){ scanf("%s",&a); //00011010 1A n=strlen(a); //n=8 for(i=0;i<n;i++) //b[i] 初始化 b[i]=0; k=0; t=1; m=0; for(i=n-1;i>=0;i--){ b[k]=b[k]+(a[i]-'0')*t;//b[0]=0 b[0]=2 b[0]=2 b[0]=10 b[1]=1 b[1]=1 b[1]=1 b[1]=1 t=t*2; //t=2 t=4 t=8 t=16 t=2 t=4 t=8 t=16 m++; //m=1 m=2 m=3 m=4 m=5 m=6 m=7 m=8 if(m%4==0){ k++; // k=2 t=1; // t=1 } } for(i=0;i<n;i++){ //对b[i]操作 if(b[i]>=10){ switch(b[i]){ case 10 : b[i]='A'; break; case 11 : b[i]='B'; break; case 12 : b[i]='C'; break; case