Traductor




Operadores a nivel de bit o Bitwise en Javascript

El uso de estos operadores se limita muchas veces al ámbito matemático, para el desarrollo de algoritmos complejos o para cálculos necesarios durante el desarrollo de videojuegos 3D. Sin embargo, existen otros escenarios donde conocer el funcionamiento de estos operadores puede significar una mejora notable en el rendimiento de nuestras aplicaciones o dar lugar a estructuras más elegantes y sostenibles.

Una operación bit a bit (o Bitwise) opera sobre números binarios a nivel de bits individuales. Es una acción primitiva sustancialmente más rápida que las que se llevan a cabo sobre el valor real de los operandos. 
Un detalle a tener en cuenta es que estos Bitwise son, en Javascript, operadores de 32-bits, lo que significa que en el manejo de valores binarios, un número como 0101 se procesa internamente como 00000000000000000000000000000101. Sin embargo, todos los ceros de la izquierda pueden despreciarse ya que, como en el caso de los números decimales, no tienen ningún significado o valor. Estos operadores están presente en la mayoría de lenguajes de programación (C#, PHP, Java, Ruby…) y son muy similares a los operadores lógicos que solemos manejar. 

En Javascript, tenemos a nuestra disposición los siguientes operadores:

Operador
Uso
Descripción
a & b
Retorna un uno en cada posición de bit para la cual los correspondientes bits de ambos operandos son unos. (Ver mas...)
a | b
Retorna un uno en cada posición de bit para la cual los correspondientes bits de ambos operandos o de cualquiera son uno. (Ver mas...)
a ^ b
Retorna uno en cada posición de bit en la cual alguno de los correspondientes bits de sus operandos pero no ambos sean uno. (Ver mas...)
~ a
Invierte los bits de su operando (Ver mas...)
a << b
Desplaza b bits a la izquierda la representación binaria de a, rellenando con ceros por la derecha. (Ver mas...)
a >> b
Desplaza b bits a la derecha la representación binaria de a, descartando los bits que sobran por la derecha. (Ver mas...)
a >>> b
Desplaza b bits a la derecha la representación binaria de a, descartando los bits que sobran por la derecha y rellena con ceros por la izquierda. (Ver mas...)
Lo primero que llama la atención a quienes se acercan por primera vez a estos operadores es que resultan muy similares a los lógicos tradicionales. 


Operadores lógicos sobre bits

Conceptualmente, los operadores lógicos a nivel de bits trabajan de la siguiente forma:
  • Los operandos se convierten a enteros de treinta y dos bits y se expresan mediante una serie de bits (ceros y unos).
  • Cada bit en el primer operando es emparejado con el correspondiente bit en el segundo operando; primer bit con primer bit, segundo con segundo, etc.
  • El operador es aplicado a cada par de bits y el resultado es construido a partir de los resultados de estas operaciones.

Operaciones de desplazamiento sobre bits

Los operadores de desplazamiento sobre bits toman dos operandos: el primero (a) es una cantidad a ser tratada y el segundo (b) especifica el número de posiciones de bits del primer operando que hay que desplazar. La dirección de la operación de desplazamiento es controlada por el operador empleado.

Los operadores de desplazamiento convierten sus operandos a enteros de treinta y dos bits y devuelven un resultado del mismo tipo que el operador izquierdo.

En las siguientes publicaciones veremos como funciona cada uno de ellos.

Si te hemos ayudado : )

Te agradeceríamos que apoyaras este proyecto



No se te olvide Comentar y Compartir
en:
                          

0 comentarios:

Publicar un comentario