【发布时间】:2020-08-23 08:24:47
【问题描述】:
我有一个整数,想打印 6 位十六进制数。
我试过了
fprintf(stdout,"%06x\n",number);
当 MSB 为 0 时它确实工作得很好,但我使用 2 的补全来表示负数,它对它们不起作用
例如。这是它打印的内容
ffffff9f负数,8位。
0b680c - 正数,OK,6 位数。
我的数字永远不会太大而无法容纳 24 位,因此它们应始终容纳 6 个十六进制字符,但我该如何制作,所以它会修剪左侧部分以始终打印 6 位数字?
【问题讨论】: