Operador "TIL"? [RESOLVIDO]

4 respostas
Y

Olá!

Fui fazer um simulado para certificação na semana passada e me deparei com uma questão muito curiosa.
Era da versão 1.4 senão me engano, e perguntava quais alternativas surtiam o mesmo resultado. Nessas alternativas tinham vários tipos diferentes de declarações para um variável z qualquer.

E dentre elas, além da utilização do operador Shift, tinha também um operador “til”(?):
int z = (~45);

Pode ser uma pergunta besta rs, mas realmente nunca tinha visto e gostaria de saber para quê serve!
:shock:

4 Respostas

V

O til implementa o não bitwise. Isso é, ele inverte todos os bits de um determinado inteiro.

O número 45, em binário, é esse aqui (considerando apenas 8 bits):
0010 1101

O operador ~ transformaria em:
1101 0010

Lembrando que um int, tem precisão de 32 bits, 45:
0000 0000 0000 0000 0000 0000 0010 1101

Viraria:
1111 1111 1111 1111 1111 1111 0010 1101

R

Olá,

Ele faz com que um padrão de bits como 00111100 venha a ser 11000011.
O Operador ~ ele faz uma inversão de bits!

Entendeu?

B

Para facilitar a sua bitola (se é que você vai precisar “muito” dela :slight_smile: ) é só lembrar que você normalmente usa o “ñ” (n + til) para abreviar “não”, e “não” é “not” em inglês, que é o nome desse operador.

(Há também o operador booleano “!”, que faz a negação lógica - true => false e false => true; basta não confundi-lo. )

Y

Enteeeendi!

Muito obrigada, gente
:smiley:

Criado 3 de dezembro de 2009
Ultima resposta 3 de dez. de 2009
Respostas 4
Participantes 4