我正在尝试编写一个程序,我需要使用 base-16 整数来确定使用 C 的 1 位错误检测。但是,我不确定 C 如何处理 base-16 整数。我必须首先从标准输入中提取低阶 16 位。我需要使用 scanf() 函数从标准输入读取前 16 位,然后将数字存储在 char 数组中(我的代码目前不考虑这一点)。当我只是简单地测试我的程序以查看它是否会以 16 位形式打印整数时,如果我输入一个基数为 16 的数字(例如 0xcd789f),它只会在 x 之前打印 0。到目前为止,这是我的代码。到目前为止,它只是一个标准的“从标准输入读取整数并将其打印到标准输出”程序。
#include <stdio.h>
int main()
{
int num;
scanf("%d", &num);
printf("%d\n", num);
getchar();
}
此代码不适用于 base-16 数字。我该如何解释?感谢您的帮助!