C语言十六进制转化为十进制
题:写出十六进制整数ABCDEF对应的十进制整数,所占域宽为15。
int main()
{
int a = 0xABCDEF;
printf("%15d",a);
}
上一篇随笔中说到八进制数前面要加‘0’;十六进制数前面要加‘0x’;所以这里定义 a 时要加 0x。
此外,这里的域宽就是指 d 前面的数字;printf可以使用使用格式控制串“%md”输出域宽为m的十进制整数。
但是如果域宽大于实际数字长度,数字是右对齐,前边会留下对应的空格;例如:
printf("%5d",123);
输出_ _123,即123前面还有两个空格。