You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言中如何获取char类型字符对应的十六进制数值

C语言获取char类型字符十六进制值的实现方法

针对你给出的char a = 'a';代码场景,可通过以下两种常见方式实现:

  • 直接打印十六进制值
    使用标准库函数printf的格式控制符即可直接输出,推荐强转为无符号类型避免符号扩展问题,示例代码如下:
#include <stdio.h>

int main() {
    char a = 'a';
    // 输出小写格式十六进制,结果为61
    printf("小写十六进制值:%x\n", (unsigned int)a);
    // 输出大写格式十六进制,结果为61
    printf("大写十六进制值:%X\n", (unsigned int)a);
    // 带0x前缀输出的写法,结果为0x61
    printf("带前缀十六进制值:%#x\n", (unsigned int)a);
    return 0;
}
  • 将十六进制值存入变量后续使用
    char类型本身属于整数类型,直接赋值给整型变量即可存储对应的数值:
char a = 'a';
// 强转为unsigned char避免有符号char的符号扩展问题
int hex_value = (unsigned char)a;
// 此时hex_value存储的数值为十进制97,对应十六进制0x61

注意:如果使用的编译器默认char为有符号类型,直接输出取值为负的char变量时会出现符号扩展,导致十六进制结果前缀多出多个f,因此强转为无符号类型是通用稳妥的写法。

内容的提问来源于stack exchange,提问作者NotAidan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 19:00:01