SóProvas


ID
1460650
Banca
CESGRANRIO
Órgão
PETROQUÍMICA SUAPE
Ano
2012
Provas
Disciplina
Programação
Assuntos

No programa C abaixo, a expressão val<<2 realiza um deslocamento à esquerda (shift left) de dois bits.

# include< stdio.h >
int main (void)
{
         char val = 40 ;
        val = val<<2 ;
        printf ("%d \n",val) ;
        return 0 ;
}


Sabendo-se que esse programa será executado por um processador cuja Unidade Lógica e Aritmética representa números inteiros através da técnica de complemento de dois, o que será exibido no console quando da sua execução?

Alternativas
Comentários
  • 40 em binário = 00101000

    Deslocamento  2 bits a esquerda 40 << 2 =  10100000 (160)

    Porém o examinador menciona que a ULA trabalha com complemento de dois, ou seja, 10100000(160) vira 11100000(- 96), em complemento de dois, lembrando que o número é negativo, pois o bit mais significativo, sinal magnitude, (  11100000) é 1 ( nr negativo) 0 (nr positivo).

    Gabarito alternativa E.