用一个char数组来存储,但用整数来赋值
char a[4]={90,43,60,77};
首先分别将a[i](0<=i<4)转化为十六进制
int high,low;
high=(int)a[i]/16;
low=(int)a[i]%high;
如90,high=5,low=10;43,high=2,low=11;60,high=3,low=12;77,high=4,low=13;
然后给每个不同的i分配权值
int power=2*(MAX-1-i)+1;
对MAX=4的数组,i=0,1,2,3其权值分别为7,5,3,1,
代表第一个high,low对的权值为7,6;第二对为5,4;3,2;1,0;
那么结果为
int res=0;
res+=(high*16^power+low*16^(power-1));
这样对所有i循环完成后,上例为:
res=0+(5*16^7+10*16^6)+(2*16^5+11*16^4)+(3*16^3+12*16^2)+(4*16^1+13*16^0)
=1512782925