Cómo encontrar el código original de 11110000
El código original de 11110000 es el siguiente:
En primer lugar, la operación de negación "~" es un operador unario. El operando está después de la función de la negación. La operación es convertir a. Todos los bits de los datos toman sus valores opuestos, es decir, 1 se convierte en 0 y 0 se convierte en 1. Esto último se debe a que a son datos con signo.
Por lo tanto, el resultado de ~a=(11101101)2 es el complemento a uno de un número negativo. Cuando se convierte al código original, el primer bit de signo permanece sin cambios. La parte restante primero se resta en 1. , y luego todos se invierten, por lo que el código binario original obtenido es: 10010011, que es -19 en decimal.
Operación de desplazamiento a la izquierda.
Para el número con signo a, (10010000)2 obtenido por alt;lt;3 es el complemento de un número negativo. Cuando se convierte al código original, el primer bit de signo permanece sin cambios y el primero restante. reste 1 de una parte y luego invierta todo, de modo que el código binario original obtenido sea: 11110000, que es -112 en decimal.
Para números sin signo, si no hay pérdida de bits altos durante el desplazamiento a la izquierda, desplazar 1 bit hacia la izquierda equivale a multiplicar por 2, y desplazar 2 bits hacia la izquierda equivale a multiplicar por 4. . La operación de desplazamiento a la izquierda es más rápida, por lo que algunos sistemas compiladores de C desplazan automáticamente la operación de multiplicar por 2 hacia la izquierda en 1 bit y la operación de elevar la enésima potencia de 2 hacia la izquierda en n bits.