Para quê serve a linha "if (i & 1)" no código em javascript abaixo:
function alturaArvore(ciclos) {
let tamanhoArvore = 1;
for(let i = 0; i < ciclos; i++)
if(i & 1)
tamanhoArvore += 1;
else
tamanhoArvore *= 2;
return tamanhoArvore;
}
Soluções para a tarefa
Respondido por
0
if (i & 1) é uma condição que delimita a excecução de "tamanhoArvore +=1; se (i & i) for verdade.
Mas o que é i & 1?
Perceba que & é um operador binário que recebe dois dígitos em bits "i" e "1". Ele irá retornar
- Verdadeiro se todos bits forem 1
- Falso se pelo menos um dos bits é 0.
Por exemplo:
Obs: Os números à esquerda do & estão em binário, ex:
1 = 1
2 = 10
3 = 11
4 = 100
5 = 101
6 = 110
7 = 111
...
Ex:
1 & 1 = Verdadeiro
111 & 1 = Verdadeiro
110 & 1 = Falso
010 & 1 = Falso
Perguntas interessantes
Matemática,
7 meses atrás
Português,
7 meses atrás
Geografia,
11 meses atrás
ENEM,
11 meses atrás
Matemática,
1 ano atrás