SóProvas


ID
3189592
Banca
COPEVE-UFAL
Órgão
IFAL
Ano
2016
Provas
Disciplina
Programação
Assuntos

Dado o código Python,

n = 12

c = bin(n << 2)

n = int(c,2) + (13 % 3)

print(str(n))

o valor impresso na tela é

Alternativas
Comentários
  • n << 2 = nx(2x2)

    13 % 3 = 1 (resto da divisão)

  • A questão aborda o tema 'Bitwise operators'

    Primeramente, devemos saber que o número 12 em binário vale: 1100

    A linha c = bin(n << 2) desloca 2 bits a esquerda preenchendo com zeros, neste momento a variável n, que valia 1100, passa a valer 110000 e posteriormente atribuímos o valor em binário a variável c que valéra 0b110000

    Obs.: para fins desta questão ignore o 0b na frente do número, pois isto é apenas a representação em binário da linguagem python.

    O trecho int(c,2)  converte um objeto para inteiro, o número 2 informa que é na base 2, ou seja, binário, ou seja,110000 valerá 48 em inteiro.

    O trecho (13 % 3) tem como resultado valor 1, pois representa o resto da divisão exata.

    A soma entre estes dois trechos resulta em 49, ALTERNATIVA B GABARITO DA QUESTÃO

  • Assertiva b

    n = 12

    c = bin(n << 2)

    n = int(c,2) + (13 % 3)

    print(str(n))

    49.