【问题标题】:How to get hexadecimal val of char in c如何在c中获取char的十六进制值
【发布时间】:2021-10-22 23:48:02
【问题描述】:

所以我是 C 新手,我很困惑。我不知道如何获取 char 的十六进制值。

我将如何获得下面的 chars 十六进制值???

char a = 'a';

【问题讨论】:

  • 不存在十六进制值。有价值观,也有表述。值独立于表示。 65 == 'A' == 085
  • @torstenvl 在65 == 'A' == 085 中,085 是什么?
  • @torstenvl: should be 081 for octal? 8 通常不被视为有效的八进制数字。也许0101
  • @chux 085 是一系列被包裹在一个令人尴尬的小包裹中的脑残。也许我应该停止在深夜发表评论。
  • @torstenvl 我们都去过那里。 (但请放心,另外 4 人用 Brainfart 对评论投了赞成票,所以你并不孤单。(K&R C 也将 8,9 识别为八进制数字)

标签: c hex decimal


【解决方案1】:

对于char a = 'a';a 有一个。取决于我们希望如何看到该值:

将该值打印为 (ASCII) 字符:printf("%c\n", a);

以十进制打印其值:printf("%d\n", a);

以十六进制打印其值:printf("%x\n", a);

在所有 3 种情况下,a 中的值都被提升为 int 作为 ... 函数的参数。就是int代码正在打印。


由于char 可能是已签名未签名,当a < 0 或在char 与@ 一样宽的罕见实现中,需要额外考虑987654334@.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-31
    • 2012-12-07
    • 2022-12-20
    • 2011-10-28
    • 2011-10-13
    • 2011-05-25
    • 1970-01-01
    • 2014-12-20
    相关资源
    最近更新 更多