求各位大神大佬帮忙!!!加急!!! C语言:如何把十进制的12转成十六进制的0x12

C语言:如何把十进制的12转成十六进制的0x12
2025-04-28 04:46:59
推荐回答(4个)
回答1:

C语言中,八进制、十进制、十六进制可以自动转换,注意格式即可。

十进制的12对应的十六进制数是0xc

因此将十进制数12按十六进制数输出语句为printf("0x%x",12);

程序:

#include 
void main(){
printf("0x%x",12);
}

//运行结果截图:

回答2:

#include 
#include 

int main(int argc, char *argv)
{
    int a = 12, b = 0;
    char str[8] = {0};
    
    //先把数字12转成十六进制的字符串
    sprintf(str, "0x%d", a);
    
    //再把十六进制的字符串提取出该十六进制对应的数字
    sscanf(str, "%x", &b);
    
    //打印提取出的数字
    printf("十六进制:%#x 对应的十进制:%d\n", b, b);
    
    
    return 0;
}

回答3:

只是打印输出,直接printf("%x",12)。

回答4:

u8 D_data = 12; //十进制数
u8 H_data = 0; //存放转换成的十六进制数

H_data = (D_data/10)*16 + D_data%10;