Beto Muniz
  • Share

Operadores Bitwise Shift no JavaScript

tech

👨‍🔬 Conceitos teóricos a parte, operadores bitwise, como o nome já faz referência, são operações efetuadas bit a bit em dados númericos e sempre baseadas em 32bits.

💡 Esse tipo de operador é útil em algoritmos de checksum que validam a integridade dos dados, máquinas de estados, criptografia, cálculos com cores, etc.

🗣 Falarei apenas dos Operadores Bitwise Shift <<, >> e >>>, que são utilizados para deslocar bits da esquerda pra direita.

Dica de pesquisa: Existem outros operadores bitwise.

👇 Considerando que 170 em 32 bits é 00000000000000000000000010101010, vejamos as seguintes definições:

<< ou Left Shift recebe x e y para x << y. Enquanto x é o número inteiro a ser processado, y é o número de bits a ser deslocado a partir da esquerda para direita.

170 << 3
(000)00000000000000000000010101010(***)
(***)00000000000000000000010101010(000)
R: 00000000000000000000010101010000
Exemplo retirado de blog.logrocket.com

>> ou Right Shift recebe x e y para x >> y. Enquanto x é o número inteiro a ser processado, y é o número de bits a ser deslocado a partir da direita para esquerda.

170 >> 3
(***)00000000000000000000000010101(010)
(000)00000000000000000000000010101(***)
R: 00000000000000000000000000010101
Exemplo retirado de blog.logrocket.com

>>>ou Zero-Fill Right Shift é semelhante a >>, com a diferença que sempre irá popular 0 na definição esquerda do bit, >> pode ser 0 ou 1.

>>> recebe x e y para x >>> y. Enquanto x é o número inteiro a ser processado, y é o número de bits a ser deslocado a partir da direita para esquerda.

170 >>> 3
(***)00000000000000000000000010101(010)
(000)00000000000000000000000010101(***)
R: 00000000000000000000000000010101
Exemplo retirado de blog.logrocket.com

💧 Gostou desse drop? Compartilhe-o. 🤩

E para receber meus conteúdos assim que eu publicar, me segue lá no Telegram 😋

  • Share It!
Copyright Beto Muniz © 2010-2020. All rights reserved.