Red de conocimientos sobre prescripción popular - Como perder peso - Acabo de aprender el lenguaje C. Cuando los datos de caracteres se convierten en una variable entera y el valor del código ASCII es 128-1, ¿cómo calcular el valor de -128-255? Gracias.

Acabo de aprender el lenguaje C. Cuando los datos de caracteres se convierten en una variable entera y el valor del código ASCII es 128-1, ¿cómo calcular el valor de -128-255? Gracias.

Debido a que el tamaño de char es un byte, que son ocho bits, un * * * puede representar la octava potencia de 2, que son 256 números del 0 al 255.

Pero char se divide en formas con y sin signo, es decir, hay una diferencia entre positivo y negativo.

Si lo firmas, lo firmas. En el código de máquina, es necesario que 8 bits binarios ocupen un símbolo para distinguir los símbolos, que están representados por 1 o 0 respectivamente. Luego, los 7 bits restantes pueden representar números del 0 al 127. Como la potencia de 2 * * * es 256 números, podemos obtener que hay 128 números en el rango negativo.

Por el contrario, los caracteres sin signo representan valores del 0 al 255. Dado que los códigos ASCII no tienen valores negativos, generalmente los códigos ASCII solo necesitan usar 0-127, y los 128 caracteres restantes constituyen ASCII extendido. Por supuesto, en general es inútil. También puedes ver que los símbolos en este rango son generalmente extraños, pero los asignas a este rango.

Las computadoras INTEL generales generan caracteres firmados, aunque si la definición de una variable char produce un carácter sin firmar o un carácter firmado depende del entorno específico que esté utilizando. Si no está seguro, puede utilizar las constantes proporcionadas en limites.h para determinarlo. Por supuesto, int long, etc. también se pueden tratar de la misma manera. Si es un flotante, use float.h para verlo. Para más detalles, puede consultar la descripción de la biblioteca. El procedimiento es el siguiente. Corre tú mismo.

# incluir ltstdio.h gt

# incluir ltlimit.gt

main(){

int a = CHAR _ MIN

int b = CHAR _ MAX

printf("d d\n ", a, b //Imprime los valores mínimo y máximo del tipo de datos char

}

Ahora hemos entendido que el carácter con signo de 8 bits no puede representar un número superior a 127, por lo que cuando le asignas a una variable un valor superior a 127, automáticamente volverá a tener un valor negativo. El valor mínimo aumenta hacia arriba, lo que se puede imaginar como un círculo. El principio es que solo hay un sumador en la CPU y la resta no se puede realizar sin realizar un bucle. Específicamente, puedes comprar cualquier principio de microcomputadora. r, usa más LINUX