c - 如何将 char 转换为十六进制和二进制

标签 c binary char hex

我在 C 中有以下示例:

int x = 123; 

size of int = 4 bytes.
hex value = 7b
binary value = 0111 1011

如果我的 x 是一个字符,十六进制/二进制值是多少?

char x = 123;
size of char = 1 byte.
hex value = ??
binary value = ??

最佳答案

由于 char 小于 int,因此是相同的。除了前导零之外,您会在 int 中找到。

试试这个:

  6   int x = 123;
  7 
  8   printf ("Size of int is  %d bytes\n", sizeof(int));
  9   printf ("Size of char is %d byte\n", sizeof(char));
 10 
 11   printf ("Hex value is %x\n", x);
 12   printf ("Hex value is %x\n", (char)x);
 13 
 14   printf ("As for binary value .... google is your friend\n");

输出是:

Size of int is  4 bytes
Size of char is 1 byte

Hex value is 7b
Hex value is 7b

至于二进制值......谷歌是你的 friend 这个site似乎很好地解释了事情

关于c - 如何将 char 转换为十六进制和二进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6393000/

相关文章:

ruby - 在 Ruby 中解析二进制数据

comparison - 字符缓冲区比较

c++ - 传递 char* C++ 的地址

c - 如何读取 "int (*functionFactory(int n))(int, int) { ... }"?

c - while 循环导致函数在 c 中返回 0

c++ - 指向另一个结构的结构指针成员会导致段错误 (C/C++)

c - 按位移位说明

binary - 全二进制输出

java - 将 int 值添加到 char 数组 ASCII 值 C# 和 JAVA

c - 第一个 fwrite 有效但第二个无效