C语言十六进制转化为十进制

题:写出十六进制整数ABCDEF对应的十进制整数,所占域宽为15。

int main()
{
    int a = 0xABCDEF;
    printf("%15d",a);
}

上一篇随笔中说到八进制数前面要加‘0’;十六进制数前面要加‘0x’;所以这里定义 a 时要加 0x。
此外,这里的域宽就是指 d 前面的数字;printf可以使用使用格式控制串“%md”输出域宽为m的十进制整数。
但是如果域宽大于实际数字长度,数字是右对齐,前边会留下对应的空格;例如:

printf("%5d",123);

输出_ _123,即123前面还有两个空格。

posted @ 2021-08-17 20:13  vhy  阅读(1256)  评论(0编辑  收藏  举报