Ejemplo de código fuente decimal
Conocimientos básicos: Supongamos que existe un número binario de n bits.
Entonces este número binario * * * tiene un estado y este número es el mayor.
Por el contrario, escrito en binario como 1000 0000, un * * * tiene 8 dígitos, seguido de 7 dígitos decimales de 1.
Los siguientes ejemplos son todos números de n dígitos y el ejemplo son números de 8 dígitos.
Formulario de código original
Formato binario simple y directo. A continuación se utilizan números de punto fijo como ejemplo.
Decimal puro de coma fija: 0 100 0000, el primer bit de signo, 0 es positivo, 0 es negativo, lo que indica 0,1 (10).
Entero puro de punto fijo: 0 000 0001 aquí significa 1(10).
Debido al bit de signo, hay más y menos 0 0 000 0000 y 1 000 0000.
Rango de datos: -127~127 (los últimos 7 dígitos son todos 1) //La fórmula es la siguiente
Características: El código original no es adecuado para sumas y restas, pero es adecuado para multiplicación y división.
Código base menos complemento a uno
El código negativo de un número positivo es el mismo que su código original; la inversión de un número negativo es la inversión bit a bit; código original después de su bit de signo, y el bit de signo no cambia (1).
El rango de datos que el anticódigo puede representar: el mismo que el código fuente.
Suplemento
Finalidad: Facilitar las operaciones informáticas de suma y resta.
Características: La representación digital es adecuada para operaciones de suma y resta en máquinas.
Los números complementarios pueden realizar la "suma de números negativos" de la computadora. El principio esencial es la aritmética modular, es decir, A. menos B es igual a A más B. Relativo al complemento de A, entonces módulo. Es como girar el reloj 3 horas en el sentido de las agujas del reloj y 9 horas en el sentido contrario a las agujas del reloj.
Código complemento a dos:
Código complemento = (número original + módulo) (módulo mod Evidentemente, si el código original es un número positivo, el código complemento es él mismo, y). no es necesario considerar la solución en absoluto. El complemento de un número positivo.
Para computadoras, dado que el número de dígitos que se suman a dos números es el mismo (n), y la suma no puede exceder n+1 dígitos, el módulo que se debe tomar es 100000...(n ceros ).
Entonces, para un decimal puro de n dígitos, su módulo (decimal) es 2, y para un entero puro de n dígitos, su módulo es 2 n.
Módulo: (1 0 000 0000)
Código original: (0 000 0000)
Cabe señalar que aunque el bit de signo no tiene información numérica El módulo aquí todavía tiene en cuenta el bit de signo, porque podemos hacer que el primer bit de signo participe en los cálculos de la computadora definiendo el complemento para obtener el resultado deseado.
(Al mismo tiempo, calcular el bit de signo nos permite obtener el complemento a dos directamente del resultado cuando usamos fórmulas matemáticas para encontrar el complemento a dos.
Por ejemplo: x= -0.1011.
Complemento [x] = 1x = 10.0000-0.1011 = 1.0101
El complemento del módulo original es 0.0101(2), pero el primer 1 puede representar el original. Número de signo negativo, por lo que el complemento se puede leer directamente como 101.
)
Por lo tanto, para el complemento, el bit de signo no solo representa el signo, sino que también participa en el. operación.
Además, hay dos ceros (cero positivo o negativo) que son diferentes al código original. En el ajuste del código de complemento a dos, solo hay un cero (00000... porque el código original es todo ceros), y 1000... que puede representar -1 (complemento decimal puro) o -2 n-65438+ .
//Se puede escribir así (tomando enteros puros como ejemplo): Porque los siguientes n-1 ceros son a su vez n-1, y sumar 1 es 2n-1 (10), y el primer 1 representa un número negativo.
Cómo encontrar el código del complemento: el código original es positivo y el código del complemento es el mismo que el código original es un número negativo y el siguiente número es el recíproco del original; código más 1.
Frameshifting
Propósito: Facilitar la comparación de computadoras y eliminar la interferencia de bits de símbolos en la computadora.
El principio es mover todas las partes negativas en la dirección no negativa, es decir, eliminar el significado del primer bit de signo.
El método de eliminación es: para el complemento de un número positivo, el bit de signo cambia de 0 a 1 y aumenta para el complemento de un número negativo, se elimina el concepto de bit de signo y se define como número positivo en la computadora; . Para garantizar que el número negativo original sea menor que el número positivo original, el bit de signo se cambia de 1 a 0.
Para garantizar que la relación de tamaño entre cada número permanezca sin cambios, se convierte en un código de desplazamiento utilizando el código de complemento. Si usamos el código original para convertir, la relación entre números negativos se invertirá.
Fórmula matemática:
Macroscópicamente, el eje entero medio se traduce al semieje no negativo y la relación de tamaño entre los números permanece sin cambios.
Desplazamiento decimal puro [X] =1+X
Desplazamiento entero puro [X] = (estándar universal)
De dónde viene el desplazamiento de código: El cambio de código y el complemento tienen la misma mantisa, pero el bit de signo es opuesto (es decir, el primer bit del complemento es 1-->0; 0->1)
Porque el cambio de código proviene del complemento, por lo que también puede representar un número adicional.