¿Cómo simplificar el código original, código complemento y código complemento en circuitos digitales? ¿Cómo convertir números negativos al sistema numérico?
El llamado código original es la representación binaria de punto fijo mencionada anteriormente, es decir, el bit más alto es el bit de signo, "0" representa positivo, "1" representa negativo y los bits restantes Representa el tamaño del valor.
El código complemento significa que el código complemento de un número positivo es igual a su código original; la negación de un número negativo es la inversión bit a bit de su código original, excepto el signo; poco.
La representación en complemento especifica que 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 último dígito de su complemento.
1. Métodos de representación de código original, código complementario y código complementario
(1) Código original: Representación agregando un bit de signo directamente antes del valor.
Por ejemplo: bit de signo valor bit
[+7]Original = 0 0000111 b
[-7]Original = 1 000111 b
Nota: a. El código sin formato del número 0 tiene dos formas:
[+0] sin formato = 0000000b [-0] sin formato = 1000000b
b. fuente binaria El rango de representación del código es: -127 ~+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: código complemento de un número negativo, el bit de signo es "1" y el valor se invierte bit a bit.
Por ejemplo: bit de signo valor bit
[+7]anti = 0 0000111 b.
[-7]anti = 1 1111000 b.
Nota: Respuesta: También hay dos formas del código inverso del número 0, a saber,
[+0] anti =00000000B
[-0 ]anti = 1111111b .
B. El rango de representación del complemento a dos de 8 bits: -127 ~+127.
(3) Método de expresión de los complementos
1) El concepto de módulo: La unidad de medida se llama módulo o módulo. Por ejemplo, el reloj cuenta en base 12, es decir, módulo 12. En un reloj, al sumar (avanzar) el dígito entero de 12 o restar (retroceder) el dígito entero de 12, la posición de la manecilla de la hora permanece sin cambios. Las 14 en punto se convierten en (pm) las 2 en punto después de retirar el molde a las 12 (14 = 14-12 = 2). Marque 10 divisiones en el sentido contrario a las agujas del reloj desde 0:00, lo que significa restar 10 horas, o marque 2 divisiones en el sentido de las agujas del reloj desde 0:00 (0-10 = -112 = 2). Entonces, bajo la premisa del módulo 12, -10 se puede asignar a +2. De esta manera, para un sistema cíclico con módulo de 12, el efecto de sumar 2 y restar 10 es el mismo por lo tanto, en un sistema con módulo de 12, todas las operaciones de restar 10 se pueden reemplazar sumando 2, lo cual; resuelve el problema de la resta y se convierte en un problema de suma (nota: solo hay sumadores en la estructura del hardware de la computadora, por lo que la mayoría de las operaciones eventualmente deben convertirse en sumas). 10 y 2 son complementarios para el módulo 12.
De manera similar, los componentes informáticos y los registros de la computadora tienen ciertas restricciones de longitud de palabras (suponiendo que la longitud de la palabra sea 8), por lo que sus operaciones también son operaciones modulares. Cuando el contador llegue a 8 bits, que son 256, se desbordará y empezará a contar desde el principio. La cantidad de desbordamiento es el módulo del contador. Obviamente, el módulo de un número binario de 8 bits es 28=256. En los cálculos, dos números complementarios se denominan "complementos".
2) Expresión de complemento:
Número positivo: El complemento del número positivo es el mismo que el código original.
Número negativo: El complemento de un número negativo es que el bit de signo es "1", el valor se invierte bit a bit y luego se suma 1 al último bit (bit más bajo). Eso es "código inverso +1".
Por ejemplo: bit de signo 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. . El complemento de un número positivo es el valor verdadero del número que representa, y la parte numérica del complemento de un número negativo no es el valor verdadero del número que representa. Usando aritmética en complemento a dos, el resultado sigue siendo complemento a uno.
B. A diferencia del código original y del código complementario, el valor del código complementario tiene solo un 0, es decir, [0] código complementario = 00000000B.
C. Si la longitud de la palabra es de 8 bits, el rango de representación del complemento es -128 ~ +127, al realizar operaciones de complemento, tenga cuidado de que el resultado no pueda exceder el rango de números que pueden representarse; complementar.
2. Conversión entre código original, código complemento y código complemento.
Debido a que el código original, el complemento y el complemento de números positivos son iguales, no se requiere conversión.
Aquí sólo se analizarán los casos negativos.
(1) Dado el código original, encuentre el complemento.
Ejemplo: Dado que el código original de un determinado número X es 10110100 b, intenta encontrar el complemento y el complemento de X.
Solución: De [X]primitiva = 10110100 b, sabemos que X es negativo. Al encontrar su complemento, el bit de signo permanece sin cambios y la parte numérica se niega poco a poco; al encontrar su complemento, se suma 1 al último bit de su complemento;
10110100 código original
110010111 se invierte, el bit de signo permanece sin cambios y el bit de valor se invierte.
1 +1
1 1 000 1 1 000
Por lo tanto: complemento [X] = 11001100 b, complemento [X] = 1101b.
(2) Encuentra el código original cuando se conoce el complemento.
Análisis: Según el proceso inverso de encontrar el complemento negativo, la parte numérica debe ser el bit más bajo menos 1, y luego se encuentra el inverso. Pero para los números binarios, restar 1 antes de negar es lo mismo que sumar 1 después de negar, por lo que aún se puede utilizar el método de sumar 1 después de negar.
Ejemplo: Dado el código complemento de un determinado número X, 1111110b, intenta encontrar su código original.
Solución: Del complemento [X] = 111011110b.