operadores-binarios

command
v0.0.0-...-280f8e7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 19, 2024 License: CC0-1.0 Imports: 1 Imported by: 0

README

Operadores binários em Golang

Exemplos de operadores binários em Go

É importante não confundir operadores binários com operadores lógicos, operadores lógicos tem os mesmos nomes mas usam símbolos diferentes e geralmente agem sobre bytes ou sobre a palavra básica da maquina, enquanto operadores binários agem bit a bit.

Para efeito de exemplo considere seguintes variáveis:

var v bin = 60 // 0011 1100
var b bin = 13 // 0000 1101

AND

c := v & b

Equivalente a 0011-1100 & 0000-1101 e o resultado será 0000-1100.

OR

c = v | b

Equivalente a 0011-1100 | 0000-1101 e o resultado será 0011-1101.

NOT AND

c = v &^ b

Equivalente a 0011-1100 &^ 0000-1101 e o resultado será 0011-0000. Uma curiosidade é que esse é o único operador que você realmente precisa, todos os outros operadores podem ser derivados de NOT END.

LEFT SHIFT

c = v << 2

Equivalente a 0011-1100 << 0000-1101 e o resultado será 1111-0000. Você também pode pensar no LEFT SHIFT como multiplicar por dois.

RIGHT SHIFT

c = v >> 2

Equivalente a 0011-1100 >> 0000-1101 e o resultado será 0000-1111. Você também pode pensar no RIGHT SHIFT como dividir por dois.

XOR

c = v ^ b

Equivalente a 0011-1100 ^ 0000-1101 e o resultado será 0011-0001. Eu sei que é tentador mas não use XOR para criptografia, pelo menos não sozinho.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL