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 |
-
De hecho, es conveniente complementar el equipo de sustracción existen en el ordenador, más menos un número igual a un número de complemento, que implica el concepto de "modelo", interesada o no entienden pueden ir a la Enciclopedia de Baidu mirada
Referencia :
invertida - Enciclopedia
complemento - Wikipedia
colección de Baidu
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.