gpt4 book ai didi

c - 如何在 C 中使用 base-16 整数

转载 作者:太空宇宙 更新时间:2023-11-04 07:29:24 25 4
gpt4 key购买 nike

我正在尝试编写一个程序,我需要使用 base-16 整数来确定使用 C 的 1 位错误检测。但是,我不确定 C 如何处理 base-16 整数。我必须首先从标准输入中提取低阶 16 位。我需要使用 scanf() 函数从 stdin 读取前 16 位,然后将数字存储在一个 char 数组中(我的代码目前没有考虑到这一点)。当我只是简单地测试我的程序以查看它是否会以 16 位形式打印整数时,如果我输入 base-16 数字(例如 0xcd789f),它只会在 x 之前打印 0。到目前为止,这是我的代码。到目前为止,它只是一个标准的“从 stdin 读取整数并将其打印到 stdout”程序。

#include <stdio.h>
int main()
{
int num;

scanf("%d", &num);
printf("%d\n", num);

getchar();
}

此代码无法正确处理 16 进制数。我该如何解释呢?感谢您的帮助!

最佳答案

scanf("%x", &num);  
printf("%x %d\n", num, num);

无论数字是以二进制、八进制、十进制还是十六进制表示 - 数字的值保持不变。这由打印显示 - 它将以十六进制(base16)形式和十进制形式打印数字的值。

关于c - 如何在 C 中使用 base-16 整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15301460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com