INT之间的真正区别:“Int”和“无符号整型”
32位int数据类型可以在 -2147483648范围保持整数值到2,147,483,647。您也可以将这种数据类型 称为signed int或signed。
无符号整型:
的32位无符号int数据 类型可在0范围内的保持整数值到4294967295。你也可以将这种数据类型简称为无符号。
好的,但是,在实践中:
int x = 0xFFFFFFFF;
unsigned int y = 0xFFFFFFFF;
printf("%d, %d, %u, %u", x, y, x, y);
// -1, -1, 4294967295, 4294967295
没有区别,O.o.我有点困惑。
您需要考虑'int'和'unsigned int'的_binary_表示。 – Oded 2012-01-28 13:08:54
这可能发生的真正原因是C是* weakly * * typed *语言。但'unsigned int'和'int'确实不同。 – cha0site 2012-01-28 13:13:55
http://stackoverflow.com/questions/247873/signed-versus-unsigned-integers – 2012-01-28 13:18:09