int:Sự khác biệt thực sự giữa "int" và "unsigned int"
32-bit int kiểu dữ liệu có thể giữ giá trị số nguyên trong khoảng -2147483648 đến 2,147,483,647. Bạn cũng có thể tham khảo loại dữ liệu này dưới dạng int đã ký hoặc đã ký.
unsigned int:
32-bit unsigned int data loại có thể giữ giá trị số nguyên trong khoảng từ 0 đến 4294967295. Bạn cũng có thể chỉ loại dữ liệu này đơn giản là chưa được ký.
Ok, nhưng, trong thực tế:
int x = 0xFFFFFFFF;
unsigned int y = 0xFFFFFFFF;
printf("%d, %d, %u, %u", x, y, x, y);
// -1, -1, 4294967295, 4294967295
có sự khác biệt, O.o. Tôi hơi bối rối.
Bạn cần suy nghĩ về biểu diễn _binary_ của cả 'int' và' int unsigned'. – Oded
Lý do thực sự có thể xảy ra là C là ngôn ngữ * yếu * * đã nhập *. Nhưng 'unsigned int' và' int' thực sự khác. – cha0site
http://stackoverflow.com/questions/247873/signed-versus-unsigned-integers –