SóProvas


ID
2622649
Banca
Marinha
Órgão
CAP
Ano
2017
Provas
Disciplina
Programação
Assuntos

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 ?

Alternativas
Comentários
  • 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 !