Warum erhalte ich -95 beim addieren von char und int?
So wie ich das kenne kann man die Typen char und int einfach mit einander addieren, jedoch bekomme ich gerade beim testen :
char a = 'M'+84 ;
das richtige Zeichen aber einen negativen int (-95 ,í ). Ich habe durch auprobieren herausgefunden, dass man durch addieren von 256 (alle ascii zeichen) den dezimal Wert (ASCII : 161) erhält. Danach wollte ich die Variable auf 161 "forcen durch :
if(buffer[i]<0) buffer[i] += 256; // buffer wäre mein verrechnetes a
Warum geht das nicht, bzw. warum bekomme ich diese negative Variable?
PS. Die Programmiersprache ist c