Código original, código inverso, código complemento, significado
Los números se dividen en números con signo y números sin signo.
El código original, el código inverso y el código complementario son representaciones de números de punto fijo con signo.
El bit más alto de un número de punto fijo con signo es el bit de signo, 0 representa un número positivo y 1 representa un número negativo.
Los siguientes son ejemplos de enteros de 8 bits.
El código original es la forma binaria del número mismo.
Por ejemplo
0000001 es +1
1000001 es -1
El inverso y el complemento de un número positivo son iguales que el código original.
El código inverso de un número negativo es el código inverso de todos los números del código original excepto el bit de signo
[-3]inverse=[10000011]inverse=11111100 p>
El complemento de un número negativo es el inverso de todos los números en el código original excepto el bit de signo más el 1 al final del número
[-3]inverse=[10000011] inverse=11111100
El complemento de un número negativo es el inverso de todos los números en el código original excepto el bit de signo más el 1 al final del número
[-3] inverse=[10000011]inverse=111111003]complemento=[10000011] complemento=11111101
[-3]complemento=[10000011]complemento=11111101
[-3]complemento=[ 10000011]complement=11111101
[- 3]complement=[10000011]complement=11111101 11111101
Un número y su complemento son invertibles.
Por qué existe ¿un complemento?
La primera razón es permitir que las computadoras realicen operaciones de resta:
Complemento [a-b] = complemento a + complemento (-b)
La segunda la razón es unificar el cero positivo y el cero negativo
Cero positivo: 00000000
Cero negativo: 10000000
Estos dos números en realidad son cero, pero sus codificaciones originales tienen diferentes representaciones.
Pero sus complementos son iguales, ambos 00000000
Presta especial atención, si hay redondeo después de +1, ¡debe ir hasta el final, incluido el bit de signo! (¡Esto es diferente del código inverso!)
[10000000]código de complemento
=[10000000]inverso+1
=111111+1
=(1)00000000
=00000000 (el bit más alto se desborda, el bit de signo se vuelve 0)
Alguien preguntó
El complemento de 10000000 es la codificación numérica del bit de representación. ¿10000000 representa el complemento de qué número?
De hecho, según las reglas, este número representa -128
Entonces el rango de números que se pueden representar mediante el complemento de n es
-2^ (n-1 ) a 2^(n-1)-1
Uno más que el complemento de n
Otro ejemplo:
1011
Original: 01011
Inversa: 01011
Original: 01011
Inversa: 0101101011
Original: 01011
Original: 01011
El complemento de 10000000 es el complemento del número.
Operación inversa: 01011 // Para números positivos, número inverso = número original
Complemento: 01011 // Para números positivos, complemento = número original
- 1011
Número original: 11011
Inverso: 10100 // Para números negativos, el código inverso es el código inverso del número original
Complejo: 10101 / / Para números negativos, El complemento es el código inverso del código original + 1
0.1101
Código original: 0.1101
Código inverso: 0.1101 //Cuando es un número positivo, el código inverso = código original
Suplemento: 0.1101 //Cuando es un número positivo, complemento = código original
-0.1101
Código original: 1.1101
Código inverso: 1.0010 // Para números negativos, el código inverso es el código inverso del código original
Código complementario: 1.0011 // Para números negativos, el código complemento es el código inverso del código original + 1
Resumen:
En las computadoras existen tres representaciones de números de coma fija: código original, código inverso y código complemento
El llamado código original es la representación binaria de punto fijo presentada anteriormente, es decir, el bit más alto es el bit de signo y "0" representa el bit de signo. El bit más alto es el bit de signo, "0" representa positivo, "1" representa negativo y los bits restantes representan el tamaño del valor.
La representación del código inverso estipula que el código inverso de un número positivo es el mismo que el código original; el código inverso de un número negativo es el código inverso bit a bit del código original excepto por el bit de señal.
El complemento de un número positivo es igual a su código original; el complemento de un número negativo es sumar 1 al final de su complemento.
1. Código original, código complemento y código complemento
(1) Código original: Añade la representación del valor del bit de signo directamente delante del valor del bit de signo. .
Por ejemplo: valor del bit de signo
[+7]original= 0 0000111 B
[-7]original= 1 0000111 B
Nota: a. El código original del número 0 tiene dos formas:
[+0]original=00000000B [-0]original=10000000B
binario de 8 bits. código. Rango de representación del código original binario de bits: -127 a +127
2) Código inverso:
Número positivo: El código inverso de un número positivo es el mismo que el código original.
Número negativo: el código inverso de un número negativo, el bit de signo es "1" y la parte digital está invertida.
Por ejemplo: valor del bit de signo
[+7]inverso = 0 0000111 B
[-7]inverso = 1 1111000 B
Nota: a. El código inverso del número 0 también tiene dos formas, a saber:
[+0]inverso = 00000000 B
[- 0]inverso=1111111111B<. /p
b. El rango de representación del código binario inverso de 8 bits: -127 a +127
3) Representación del código complementario
1) El concepto de módulo: La unidad de medida se llama módulo o módulo. Por ejemplo, un reloj cuenta períodos en base 12 o módulo 12. En un reloj, la manecilla de la hora suma a los dígitos enteros de 12 (marcación positiva) o resta de los dígitos enteros de 12 (marcación negativa), y la posición de la manecilla de la hora permanece sin cambios. Las 14 horas se convierten en (pm) las 2 horas después de redondear 12 (14 = 14 - 12 = 2). Marque 10 espacios en el sentido contrario a las agujas del reloj desde las 0 en punto, es decir, reste 10 horas. También se puede considerar que marca 2 espacios en el sentido de las agujas del reloj desde las 0 en punto (sumar 2 horas), es decir, las 2 en punto (0-10 =). -10 = -10 + 12 = 2). Entonces, en el módulo 12, -10 se puede asignar a +2.
Se puede ver que para el sistema cíclico módulo 12, el efecto de sumar 2 y restar 10 es el mismo, por lo tanto, en el sistema módulo 12, cualquier operación de restar 10 se puede reemplazar sumando 2, lo que convierte el problema de resta en; Se elimina el problema de la suma (Nota: solo hay sumadores en la estructura de hardware de la computadora, por lo que para el módulo 12, la mayoría de 10 y 2 son complementarios.
De manera similar, los componentes y registros aritméticos de la computadora se limitan a Dentro de un cierta longitud de palabra (se supone que es 8), por lo que su operación es una operación de módulo. Cuando el contador está lleno de 8 bits o 256 números, se desbordará y comenzará a contar desde el principio. contador, el módulo de un número binario de 8 bits es 28 = 256. En los cálculos, dos números complementarios se denominan "códigos complementarios"
2) Representación del complemento: Número positivo: el complemento de un positivo. número. El código es el mismo que el código original.
Números negativos: El complemento de un número negativo es el bit de signo "1", el bit recíproco de la parte numérica, y el último bit (bit más bajo) más 1. Eso es "código inverso + 1".
Por ejemplo: signo bit valor bit
[+7] complemento = 0 0000111 B
[-7] complemento = 1 1111001 B
El código de complemento es una forma de codificación importante en las microcomputadoras. Tenga en cuenta:
a. Después de usar el código de complemento, las operaciones de resta se pueden convertir fácilmente en operaciones de suma y el proceso de operación se simplifica.
a. El complemento de un número positivo es su complemento. El complemento de un número positivo es el valor verdadero del número que representa, mientras que la parte numérica del complemento de un número negativo no es el valor verdadero del número que representa. El resultado de utilizar la aritmética en complemento a dos sigue siendo complemento a dos.
b. A diferencia del código original y del código inverso, el valor 0 tiene un solo complemento, es decir, complemento [0] = 00000000B.
c.Si la longitud de la palabra es de 8 bits, el rango del complemento es de -128 a +127, al realizar la operación del complemento, se debe tener en cuenta que el resultado no debe exceder el rango del complemento; puede representar.