/* data是十进制数,decimal是进制数 */
void DecimalTransform(int data,int decimal) {
if (decimal == 2)
printf("0b");
else if (decimal == 8)
printf("0o");
else if (decimal == 16)
printf("0x");
else if (decimal == 10)
printf("0d");
else
return;
int val[32],i;
for(i=0; data; i++) {
val[i] = data % decimal;
data /= decimal;
}
for(; i; i--) {
if (val[i-1] >= 10)
printf("%x",val[i-1]);
else
printf("%d",val[i-1]);
}
printf("\n");
}
用2进制输出查看比较直观