C lenguaje de la unsigned int / char que al final la manera de entender y distinguir ????

EDITORIAL: Aquí está el crecimiento de registro Wang, estudiantes universitarios ordinarios, me gustaría aprender y compartir sus propias notas de estudio cabo, grabar su trayectoria de crecimiento, y que podrían necesitar ayuda, por lo general el blog está dirigido principalmente a algunas de las notas de estudio (el sistema se incluirán con el trazado de la mente, como una columna antes I - datos Introducción a la Ciencia , etc.), notas de combate del proyecto, algunas de las tecnologías y explorar algunos de su propio pensamiento. Bienvenido atención a cada comentario de su punto de preocupación me gustaría verlo con cuidado. Tiene cualquier pregunta satisface cambio, haré todo lo posible para ayudarle, crear un mejor ambiente RDCC.



1. Pre-conocimiento

El código original, anti-código de complemento


Aquí, en el centro de las Planicies código informático, anti-código y complementar el conocimiento de las restricciones de espacio, aquí hay una breve introducción, una explicación más detallada me enviará dos días para resolver


Código original : código original es un número en el ordenador forma más simple expresado por un bit de signo (0 positivo 1 negativo) y los valores de bit (valor absoluto) compuesta de

  • Pero va a tener dos 0 : 0 ( 0 000 0000) y -0 ( 1 000 0000)

Anti-Código : código original, excepto el bit a bit bit de signo (0 y 1 intercambiado), sólo el sentido negativo , positivo o sus propiedades anti-código

Por ejemplo:

código original invertida
0 000 1111 0 000 1111
1 000 1 010 1 111 0,101 mil

Complementar : anti-código + 1, o sólo en lo negativo significativo , positivo o complementar su cuenta. El negativo complementar su expresión en la forma de un ordenador
, tales como (a -5 por ejemplo):

El código original (bits + valor de bit de signo) Invertida (excepto el bit a bit bit de signo) Complementar (invertida 1)
1 0 millones 00.000.000 00000000 00000101 1 1.111.111 11.111.111 11111111 11111010 1 1.111111 millones 11.111.111 11111111 11111011

2. firmado y sin firmar

Hay con y sin signo principal diferencia

  • números sin signo en el equipo representado por el código original, representados por un número con signo complemento

  • Como su nombre indica mentiras diferencia en si el símbolo

    • bits de número sin signo se utilizan para representar todos los valores
    • Los símbolos de código originales y tienen código anti-complemento como se mencionó anteriormente, por el bit de signo (MSB 0 1 negativo positivo) y los bits de valor

Ellos representan una gama de diferentes:

  • * En el número sin signo de n bits, ya que todos los bits se utilizan para representar los valores, por lo que su alcance es directamente 0-2 n-. 1) ** (* un total de 2 n distintos números)
  • En un número con signo, ya que el bit más alto se utiliza para representar los valores positivos y negativos, puede estar representado por su valor máximo se reducirá, pero se extenderá en la dirección axial de la negativa

De la siguiente manera:

no firmado firmado
un byte (8 bits) 0 ~ 255 -128 ~ 127
Bytes (16 bits) 0 ~ 65535 -32768 ~ 32767
n bits 0 ~ 2 ^ n - 1 - 2 ^ n ~ 2 ^ n - 1
  • De hecho, se puede sentir, han firmado y sin firmar en el mismo número de dígitos de su número capaces de expresar el número es consistente
    • Sin embargo, complementar 0 = -0, por lo tanto, -0 esta posición puede vaciar, de modo que en el más negativo en una región de la original -0 ~ -127, -128 -1 para convertirse también o 128, y la dirección positiva es de 0 a 127, el número es 128, los dos son simétricos. (Complemento del propio -0 puede tratar de tomar abajo)

      código original invertida complemento
      1 000 0000 1 111 1.111 mil 1 000 0000
    • También se puede entender:

      • Creemos que, en el -1 a -128, -1, es el más grande, por lo que -1 es el valor negativo más grande en este contexto, es decir, 1 111 1111
      • Para que 11111111-1 valor de un valor de 1111 1110 2 (de su complemento puede ser empujado de nuevo al código original)
      • Tal ha sido abajo de corte, hasta el valor negativo más pequeño es -128 1000 0000
    • Tal dirección negativa es -1 a -128, la misma dirección positiva

    • Referencia: C Serie Idioma (b) con y sin signo Comentarios )

Binaria (1 byte) valor decimal
1111 1111 -1
1111 1110 -2
1111 1101 -3
......... .........
1000 0001 -127
1000 0000 -128

3. signed char y unsigned char

  • En primer lugar, debe conocer el tipo de enchufe ** carbón en el lenguaje C es solamente un byte (8) ** de
  • En segundo lugar, en el lenguaje C, si prestamos atención, somos capaces de descubrir tipo char carácter de almacenamiento se almacena código de caracteres ASCII , lo que a veces nos resta directa también es posible que los caracteres y números enteros.
 	  int main(void)
                {
                    char ch = 'c';
                    printf("%d",ch);//打印结果是99,为'c'的ancii码
                    printf("%c",ch+5);//打印结果为h
                }
  • Pero en el lenguaje C, así como unsigned char no se preocupe esto
    es en realidad bastante simple, unsigned char en lenguaje C se puede expresar en el rango de 0 a 255, con el número medio de signo es el mismo,
    mientras que el promedio de carbón tipo puede ser representada por un rango de -128 y 127, que tiene el mismo número de símbolos es

  • Por último, en relación con el alcance representado aquí , de hecho, en general, sólo en el momento de la operación y el entero es de notar , pero cuando no es necesario para representar los caracteres demasiado preocupado

4. Referencia:

  • Ver los hipervínculos de texto

Han visto aquí, hermanos y hermanas, tías y tíos das Wang un punto fuera de una nota como que dejar un mensaje, y Amy crecer con ella, su atención es mi mayor apoyo.


Si hay más de contenido en cualquier inexactitud u omisión, o si tiene una idea mejor, simplemente dejar un mensaje para que me haga saber - Voy a hacer mi mejor esfuerzo para responder.

Publicado 19 artículos originales · 87 fue elogiado · vistas 4717

Supongo que te gusta

Origin blog.csdn.net/weixin_45761327/article/details/105300787
Recomendado
Clasificación