Informática, perguntado por rodrigomanholer, 11 meses atrás

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 juanbomfim22
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