Considere o seguinte método expressão implementado em Java. ...
public static int expressao( int A, int B, int C){
A += B; C <<= A; B ^= B; if( B > C ) return C; else return B; }
Qual o resultado retornado pelo método expressão quando A=1, B=2 e C=1 ?
Comentários
Veja os comentários dos nossos alunos
Operador bit a bit (<<) ele faz deslocamento normalmente usado para complemento a 2(Empurram o bit para esquerda ou direita)
C <<= A onde (C= 1 e A =3) <- nesse momento
1 << 3 =
Convertendo 1 para binario = 0001
0001 << 3 Vamos empurrar o bit 1 para esquerda e atrás dele adicionar 0 a cada empurrão
0010 <<
0100 <<
1000 <<
1000 (base 2) = 8 (base 10)
C <<= A
C vai passar a ser 8;
___________________________
B ^= B;
Operador ^ usado para ou Exclusivo bit a bit
onde 2 em base binaria = 0010
0010
0010
Xor ____
0000
B= vai receber 0
A) 0
GABARITO A
Sem mais a acrescentar excelente comentário Concurseiro Raiz.
Foco na missão, eu vou ser QCO !
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo