Cómo expresar el recíproco y complemento original de decimales y números negativos
(1) Código original; el método de representación del código original: la parte numérica del código original es el valor absoluto del número y luego se agrega el bit de signo. Es decir, el primer bit se utiliza para representar el símbolo y los bits restantes se utilizan para representar el valor numérico.
1.
Operaciones de suma y resta en el código original:
Suma dos números: La máquina primero determina si los signos de los dos números son iguales, si son iguales, los dos. Se suman los números. Si los signos son diferentes, se restan los dos números.
Restar dos números: antes de restar, primero determina el valor absoluto de los dos números, resta el número menor del mayor y luego determina el signo de la diferencia. (2) Código inverso; la expresión de código inverso:
Para un número positivo, su código inverso tiene la misma forma que el código original para un número negativo, su código inverso y la parte digital del; cada código original se convierte en código inverso; es decir, los bits de símbolo no cambian y los bits restantes se invierten.
1 = 0000 0001 [código original] = 0000 0001 [código inverso].
-1 = 1000 0001 [código original] = 1111 1110 [código inverso].
Si el código inverso representa un número negativo, entonces su valor no se puede ver intuitivamente y es necesario convertirlo al código original antes del cálculo.
(3) Código del complemento; representación del código del complemento:
Número positivo: El código del complemento tiene la misma forma que el código original.
Números negativos: El complemento es el último dígito de su código inverso más 1.
1 = 0000 0001 [código original] = 0000 0001 [código inverso] = 0000 0001 [código complemento].
-1 = 1000 0001 [código original] = 1111 1110 [código inverso] = 1111 1111 [código complemento].
Por lo general, es necesario convertir el valor del complemento a dos al código original para poder calcular su valor original. Los códigos complementarios los introduce el concepto de paridad.
Ejemplo de resta usando la suma: supongamos que la hora actual son las 6:00 GMT y hay un reloj cuyo GMT son las 8:00, que está 2 horas por delante del GMT. Hay dos métodos de calibración: retroceder 2 horas y adelantar 10 horas. Supongamos que marcar hacia atrás es resta y marcar hacia adelante es suma.
Para los relojes, -2 y 10 son equivalentes (es decir, restar 2 se puede lograr sumando 10. Esto se debe a que 8 más 10 es igual a 18, pero el reloj solo puede mostrar un máximo de 12). cuando sea mayor que 12, se perderán 12 y 18 menos 12 dejarán solo 6.
Información ampliada:
El uso de código original, código inverso y código complementario:
Existen tres métodos de codificación en las computadoras para representar un número. un número positivo, los resultados devueltos por los tres métodos de codificación son los mismos.
1 = 0000 0001 [primo] = 0000 0001 [inversión] = 0000 0001 [complemento]
Para este número negativo:
-1 = 1000 0001 [Número primo] = 1111 1110 [Inversión] = 1111 1111 [Complemento]
Para las computadoras, la suma, la resta, la multiplicación y la división son las operaciones más básicas. Para mantener el diseño lo más simple posible, las computadoras se dieron cuenta de que el bit de signo haría más complicado el diseño del circuito básico de la computadora, por lo que la gente descubrió una manera de incluir el bit de signo en la operación.
La resta de números positivos es igual que la suma de números negativos, es decir, 2-1 = 2 (-1), por lo que la máquina sólo hace sumas, no restas. El bit de signo participa en la operación y solo se reservan las operaciones de suma.
(i) Operación del código original:
Operación decimal: 1-1 = 0.
1-1 = 1 (-1) = 0000 0001 [ Código original] 1000 0001 [Código original] = 1000 0010 [Código original] = -2.
Si el bit de signo también participa en la operación cuando se representa el código original, entonces el resultado de la resta es obviamente incorrecto, por lo que las computadoras no usan código sin formato internamente para representar números.
(2) Operación de código negativo:
Para resolver el problema de resta en el código original, se introduce el código complementario.
Aritmética decimal: 1-1=0.
1-1=1 (-1)=0000 0001[código original] 1000 0001[código original]=0000 0001[inversa código] 1111 1110 [código inverso] = 1111 1111 [código inverso] = 1000 0010 [código original] = -0.
Utilice el código inverso para calcular la resta. La parte del valor verdadero del resultado es. correcto, pero en un valor específico de '0'. Aunque 0 y -0 tienen el mismo significado, el signo más de 0 no tiene significado y ambas codificaciones 0000 0001 [código original] y 1000 0001 [código original] representan 0.
(3) Operación en complemento a dos:
La aparición de la operación en complemento a dos resuelve el problema del símbolo de 0 y las dos codificaciones.
Aritmética decimal: 1-1 = 0.
1-1 = 1 (-1) = 0000 0001 [código original] 1000 0001 [código original] = 0000 0001 [complementario código] ?1111 1111 [código complemento] = 0000 0000 [código complemento] = 0000 0000 [código original] = 0.
De esta manera, 0 se puede representar por [0000 0000], y había un problema antes de - 0 no existe y -128 se puede representar por [1000 0000].
(-1) (-127) = 1000 0001 [código original] 1111 1111 [código original] = 1111 1111 [código complementario] 1000 0001 [código complementario] = 1000 000 [código complementario] = - 128.
El resultado de -1-127 debería ser -128. En el resultado de la operación de complemento a dos, 1000 0000 [complemento] debería ser -128, pero cabe señalar que, dado que en realidad estás usando -. complemento a 0, por lo que -128 no tiene complemento original ni complemento inverso. (La tabla de complemento de -128 1000 0000[complemento] se calculó incorrectamente como 0000 0000[original]).