Red de conocimiento informático - Conocimiento informático - 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.

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.