<分区>
为什么 '\x90' 和 0x90 彼此不同。我知道一个是十六进制转义序列,另一个是十六进制数。但是,如果我将它们转换为十进制,我会得到 144 ,这应该是 '\x90' 和 0x90 的值。另外,书上说 '\x90' 是负值,而 0x90 是正值。
据我所知 char 只有 1 个字节而 int 是 4 ,所以我们会得到
char '\x90' = 1001 0000 ( 1 byte,8 bits)
int 0x90 = 1001 0000 0000 0000 0000 0000 0000 0000 (4 byte,32 bits)
我仍然不明白为什么 char x90 是负数并导致与 int 0x90 不同的值。
我的问题不是关于 char signed 和 unsigned ,虽然这与我的问题有关,但我问的是这些字符的 into 值..