gpt4 book ai didi

C - 将字符显示为十六进制

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

我想以十六进制打印字符的 ASCII 码;例如,对于

char a = 0xA5;

我想在控制台上打印A5。这是我尝试过的:

char a = 0xA5;
printf("%02X", a);

但我得到 FFFFFFA5。我该如何解决这个问题?

最佳答案

将值转换为 unsigned char,然后再次转换为 unsigned int 以通过 %X 打印。

char a = 0xA5;
printf("%02X", (unsigned int)(unsigned char)a);

请注意,转换为无法存储原始值的有符号整数是实现定义的,但根据 N1256 定义了转换为无符号整数。 6.3.1.3

关于C - 将字符显示为十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35965861/

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