J'ai rencontré un problème très étrange. Je pense qu'il me manque quelque chose de très basique ici. Quand je fais cela:Hexadécimal à décimal avec un caractère donnant des résultats étranges?
char buffer[1] = {0xA0};
int value=0;
value = (int)buffer[0];
printf("Array : %d\n",value);
Je reçois comme résultat -96, ce qui ne devrait pas se produire. Il devrait me donner 160, car le nombre hexa 0xA0 signifie 160 en décimal. Quand je mets de petites valeurs dans le tampon comme 0x1F, ça marche bien. Quelqu'un peut-il me dire ce qui me manque ici?
'0xA0 == -96' en tant que valeur de 8 bits signé. –