Red de conocimientos turísticos - Conocimientos sobre calendario chino - ¿Cómo implementar el código en complemento a dos?

¿Cómo implementar el código en complemento a dos?

1. El complemento de un número positivo:

El complemento de un número positivo = código original

El complemento de un número negativo = {el signo original el bit permanece sin cambios}+ {Bit de número invertido +1} o

={Bit de signo original sin cambios}. + {Bit numérico invertido + 1} o

= {Bit de signo original sin cambios} + {Bit de recuento de bits numéricos invertido + 1} o

= {Bit de signo original sin cambios Cambiar + { el primer 1 del dígito de la derecha, el 0 de la derecha permanece sin cambios y el bit de la izquierda se invierte}

Tome los números enteros decimales +97 y -97 como ejemplo:

+97 = 0110_0001b

+97 Suplementario = 0110_0001b

+97 Suplementario = 0110_0097 97 y -97 Ejemplo:

+97 Número original = 0110_0001b

+97 Suplemento = 0110_0001b

-97 ¿Número original? = 1110_0001b

-97 Suplemento = 1001_1111b

2. Código original en decimal puro:

¿Cómo obtener el código original en decimal puro? Hay muchos métodos, aquí hay un método de cálculo más conveniente.

Tome 0.64 como ejemplo, el código original obtenido es 0.1010_0011_1101_0111b.

Método de operación:

Convierta 0.64*2^n para obtener X, donde n es el número de decimales reservados (es decir, n es el número de decimales sin importancia después del punto decimal) y X es el resultado de multiplicar las partes enteras.

Aquí, tomando n como 16 obtenemos

1010_0011_1101_0111b, por lo que se puede considerar que 0.64d = ?0.1010_0011_1101_0111b cumple las condiciones de la consulta. 0111b es coherente con el resultado de la consulta.

Experimente nuevamente y establezca n en 12, y obtenga

3. Complemento decimal puro:

La regla que sigue el complemento decimal puro es: obtener un decimal en el código fuente, agregar un signo antes del punto decimal, comenzar desde el más bajo. dígito (derecha) Primero busca "1" y escríbelo, luego "cuando veas 1, escribe 0, cuando veas 0, escribe 1"