int:La vera differenza tra "int" e "unsigned int"
Il tipo di dati int a 32 bit può contenere valori interi nell'intervallo -2.147.483.648 a 2.147.483.647. È inoltre possibile fare riferimento a questo tipo di dati come firmato o firmato.
unsigned int:
Il 32-bit di dati int senza segno tipo può contenere valori interi nell'intervallo da 0 a 4.294.967.295. È possibile che si riferisca a questo tipo di dati semplicemente come non firmato.
Ok, ma, in pratica:
int x = 0xFFFFFFFF;
unsigned int y = 0xFFFFFFFF;
printf("%d, %d, %u, %u", x, y, x, y);
// -1, -1, 4294967295, 4294967295
alcuna differenza, O.Ö. Sono un po 'confuso.
È necessario pensare alla rappresentazione _binary_ di entrambi un 'int' e un' unsigned int'. – Oded
La vera ragione per cui questo può accadere è che C è * debole * * tipizzato * linguaggio. Ma 'unsigned int' e' int' sono molto diversi. – cha0site
http://stackoverflow.com/questions/247873/signed-versus-unsigned-integers –