【发布时间】:2015-10-29 10:28:14
【问题描述】:
我在 C 语言中定义了字符串中的十六进制数字:
char chars[] = "\xfb\x54\x9c\xb2\x10\xef\x89\x51\x2f\x0b\xea\xbb\x1d\xaf\xad\xf8";
然后我想将这些值与另一个值进行比较。它不起作用,如果我打印如下值:
printf("%02x\n", chars[0]);
它写fffffffb。为什么会这样以及如何准确获取 fb 值?
【问题讨论】:
-
处理二进制数据时,您总是希望使用
unsigned char。我会更改声明而不是添加演员表。