Tecnología

Inicio

Cómo realizar un bits de desplazamiento en C ++

Los programadores no pueden acceder directamente a los bits en C ++, C ++, pero sí ofrece el uso de operadores de desplazamiento de bits para la realización de determinadas operaciones en otros tipos de datos. Ya sea que esté trabajando con el byte, entero o cualquier otro tipo de datos, el uso de desplazamientos de bit en ciertas situaciones pueden acelerar considerablemente la ejecución de su código.

Instrucciones

1 Identificar el tipo de datos y variables que desea cambiar. Por ejemplo, dejar que la variable sea VAR. En C ++, el byte es el tipo de datos de nivel más bajo, por lo que cada desplazamiento de bits implica al menos ocho bits.

2 Elija la dirección del desplazamiento. C ++ utiliza los operadores ">>" y "<<" para llevar a cabo los cambios de bits. La dirección del desplazamiento de bits que cada operador realiza es intuitivo: "<<" desplazamientos a la izquierda y ">>" desplaza a la derecha.

3 Seleccione el número de lugares por los que desea cambiar la variable. Si desea cambiar los bits de cuatro lugares, a continuación, utilizar el número 4. Para este ejemplo, llamar al número de plazas NUM.

4 Escribir el código C ++ para el desplazamiento de bits. Para un desplazamiento de bits izquierda, escribir "VAR << NUM" y por un desplazamiento a la derecha poco, escribir "VAR >> NUM." Rellene los valores apropiados para VAR y NUM como se explica en los pasos 1 y 3.

5 El uso adecuado de sintaxis C ++ mediante la adición de un punto y coma al final del comando. Compilar el código terminado y ejecute el archivo ejecutable.

Consejos y advertencias

  • Un desplazamiento de bits a la derecha es la misma que la división entera por 2 a la potencia NUM. A la izquierda de desplazamiento de bits es el mismo que entero multiplicación por 2 a la potencia NUM. Por tanto la división y multiplicación, C ++ rellena la variable con ceros cuando se realiza el desplazamiento de bits.
  • Si está utilizando un tipo de datos firmado (como un número entero negativo), desplazamientos de bit derecho no necesariamente pueden utilizar como relleno de ceros. Esta situación requiere un mayor cuidado para evitar resultados inesperados.