gpt4 book ai didi

c - 如何将十进制整数转换为单个十六进制字符? (C)

转载 作者:行者123 更新时间:2023-12-02 02:37:19 25 4
gpt4 key购买 nike

我正在尝试将十进制整数转换为十六进制。我在网上做了很多搜索,找到了很多方法来做到这一点。然而,我发现的每一种方式都会转换为字符串;例如,我可以将 100 转换为“64”。那不是我需要做的。我希望能够将 100 转换为“0x64”,这是完全不同的事情。出于某种原因,我怀疑答案非常简单,但我似乎找不到/记住它。我正在用 C 编程语言编写,只是为了澄清。任何帮助或想法将不胜感激。

谢谢,哈桑

最佳答案

您无法将数字从十进制“转换”为十六进制,因为它是...数字(通常在内存中存储为 two's complement )。所有可能的相同数字的所有表示positional systems住在数轴上完全相同的点。您可以用不同的基础打印它:

int num = 15;
printf( "%d", num ); /* prints 15 */
printf( "0x%x", num ); /* prints 0xf */
printf( "0%o", num ); /* prints 017 (octal) */

num = 0xf;
printf( "%d", num ); /* prints 15 */
printf( "0x%x", num ); /* prints 0xf */
printf( "0%o", num ); /* prints 017 (octal) */

num = 017;
printf( "%d", num ); /* prints 15 */
printf( "0x%x", num ); /* prints 0xf */
printf( "0%o", num ); /* prints 017 (octal) */

关于c - 如何将十进制整数转换为单个十六进制字符? (C),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3129294/

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