我知道十六进制数通常在C / C ++语言中以0x为前缀。
例如,0x5A
表示十进制的90。
但是我看到了一个使用带'\x'
的单引号字符的示例代码。
BYTE outputBuffer[index++] = '\x5A'; // instead of 0x5A
'\x5A'
的含义是否与0x5A
完全相同?
如果是这样,为什么还有十六进制表示法的替代方法?
答案 0 :(得分:9)
对于一个角色,两者都相当。
但是只有一个可以与其他普通字符混合成一个字符串。 "ABC\x5A"
只有一个可以用来初始化一个大的整数类型:long long x = 0x1234567812345678LL;