Al definir char, la salida es un número negativo cuando excede 127. ¿Cómo calcular este número negativo? Por ejemplo, la salida de 197 es -59.
int main(){
char c = 197;
printf("d\n ", c); //Salida -59 A
printf( "u\n ",c amp0x 000000 ff); //Salida 197 B
Devuelve 0;
}
C=197, esta oración, The El compilador del lenguaje C entiende que desea almacenar un número 197 sin firmar en un byte C, pero C es en realidad un carácter, lo que significa que el compilador entiende C como un byte firmado. Entonces, en A (tomando C como un número con signo), el número binario sin signo 197 se procesa como un número con signo y el resultado es -59 (este es el proceso de operación de complemento). c todavía se trata como un byte sin firmar en B, por lo que todavía se genera 197.