雖然用%x能打印出十六進(jìn)制,但要是程序的運(yùn)算過(guò)程需要轉(zhuǎn)換怎么辦?/
可能要ASCII碼運(yùn)算,關(guān)注中。。。。。。。。
kj501:
自己寫(xiě)了個(gè)程序試試,呵呵,只能轉(zhuǎn)換int類型整數(shù)。
#include
int main()
{
int num = 23165;
int temp[8];
int i;
/* print number in decimal base */
printf("the decimal number is %d\n", num);
/* transform binary number to hexadecimal notation */
for (i=7; i>=0; i--) {
if ( (temp[i] = num & 0x0f) > 9)
temp[i] += ('A' - 10);
else
temp[i] += '0';
num = num >> 4;
}
/* print number in hexadecimal base */
printf("the hexadecimal number is ");
for (i=0; i<8; i++)
if ('0' != temp[i]) printf("%c",temp[i]);
printf("\n");
}
DoDo:#include
int main(){
char a[255] = "";
sprintf(a, "hex(16)=%X", 16);
return 0;
}
這樣a就是"hex(16)=10"了,想要什么格式都有
可能要ASCII碼運(yùn)算,關(guān)注中。。。。。。。。
kj501:
自己寫(xiě)了個(gè)程序試試,呵呵,只能轉(zhuǎn)換int類型整數(shù)。
#include
int main()
{
int num = 23165;
int temp[8];
int i;
/* print number in decimal base */
printf("the decimal number is %d\n", num);
/* transform binary number to hexadecimal notation */
for (i=7; i>=0; i--) {
if ( (temp[i] = num & 0x0f) > 9)
temp[i] += ('A' - 10);
else
temp[i] += '0';
num = num >> 4;
}
/* print number in hexadecimal base */
printf("the hexadecimal number is ");
for (i=0; i<8; i++)
if ('0' != temp[i]) printf("%c",temp[i]);
printf("\n");
}
DoDo:#include
int main(){
char a[255] = "";
sprintf(a, "hex(16)=%X", 16);
return 0;
}
這樣a就是"hex(16)=10"了,想要什么格式都有