【发布时间】:2014-03-31 18:29:54
【问题描述】:
什么 16 位十六进制有符号 int 值适用于此代码:
#include <stdio.h>
int main() {
while (1) {
int i;
if (scanf("%x", &i) != 1) break;
printf("%d %s -%d\n", i, (i == -i) ? "==" : "!=", i);
}
return 0;
}
返回“==”必须有一些值,而不是“0”。
【问题讨论】:
-
为什么必须有?十六进制与此有什么关系?
-
这是一个作业的摘录,但问题相当简单。十六进制只是二进制位的表示。
-
你在这里没有使用十六进制 - 这无关紧要,除非我们没有看到任务的一部分。整数没有固有的(十进制、十六进制、二进制)表示,除非您将它们写成字符串。