Questão de Programação — Java — Quadrix 2024
- Código
- qg347473
- Banca
- Quadrix
- Órgão
- CFP
- Ano
- 2024
- Nível
- Médio
- Cargo
- Técnico Administrativo - Suporte Técnico em Informática
- CCerto
- EErrado
GabaritoC — Certo
shortGabarito: C — CERTO. Em Java, o tipo short é, de fato, um tipo de dado primitivo inteiro que ocupa 16 bits (2 bytes) e é representado em complemento de dois, sendo, portanto, um inteiro assinado (signed). A afirmação está correta e reflete a especificação da linguagem Java.
O tipo short é um dos oito tipos primitivos da linguagem Java, que se dividem em: numéricos inteiros (byte, short, int, long), numéricos reais (float, double), caractere (char) e lógico (boolean). Cada tipo primitivo tem um tamanho fixo em bits, independente da plataforma, o que garante a portabilidade do código Java (princípio WORA — Write Once, Run Anywhere).
O short ocupa 16 bits, ou seja, 2 bytes. Por ser um tipo assinado (signed), ele utiliza o bit mais significativo para representar o sinal (positivo ou negativo), e os demais 15 bits para a magnitude. A representação numérica é feita em complemento de dois, que é o padrão utilizado pela maioria das linguagens de programação modernas para representar números inteiros com sinal. Isso significa que o intervalo de valores que um short pode armazenar vai de -32.768 a 32.767 (ou seja, de -2^15 a 2^15 - 1).
Para efeito de comparação, veja os outros tipos inteiros primitivos de Java:
Tipo | Tamanho | Intervalo |
|---|---|---|
| 8 bits | -128 a 127 |
| 16 bits | -32.768 a 32.767 |
| 32 bits | -2.147.483.648 a 2.147.483.647 |
| 64 bits | -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807 |
A pegadinha que a banca poderia explorar é a confusão entre o short (16 bits) e o byte (8 bits) ou o int (32 bits). É comum o candidato confundir o tamanho em bits de cada tipo, ou ainda pensar que o short é um tipo sem sinal (unsigned), o que não é verdade em Java — todos os tipos inteiros primitivos em Java são assinados.
Na prática, o short é raramente utilizado em programas Java, pois o int é o tipo padrão para operações com números inteiros. No entanto, o short pode ser útil em situações que exigem economia de memória, como em arrays grandes de valores inteiros pequenos, ou em operações com arquivos binários e protocolos de rede que especificam campos de 16 bits.
Guarde a relação entre tamanho em bits e intervalo de valores: é exatamente nessa fronteira que a questão se resolve. O short tem 16 bits, é assinado e usa complemento de dois — todos os três atributos estão corretos na afirmação.
A afirmação está correta. O tipo short em Java é um tipo primitivo inteiro que ocupa 16 bits (2 bytes), é assinado (signed) e utiliza a representação em complemento de dois. Isso está de acordo com a especificação da linguagem Java, que define os tamanhos fixos dos tipos primitivos para garantir portabilidade. O intervalo de valores do short é de -32.768 a 32.767, exatamente o que se espera de um inteiro de 16 bits com sinal em complemento de dois.
A afirmação não está errada. O tipo short em Java é, de fato, um inteiro de 16 bits, assinado e representado em complemento de dois. A alternativa E seria correta apenas se a afirmação contivesse algum erro, como dizer que o short tem 8 bits (que seria o byte) ou que é um tipo sem sinal (o que não existe em Java para tipos inteiros primitivos). Como a afirmação está tecnicamente correta, a alternativa E é incorreta.
Para memorizar os tipos inteiros de Java, lembre-se da ordem crescente de tamanho: byte (8 bits), short (16 bits), int (32 bits) e long (64 bits). Cada um dobra o tamanho do anterior. E lembre-se: em Java, todos os tipos inteiros primitivos são assinados (signed), ou seja, sempre há um bit reservado para o sinal.
Gabarito: letra C
Link permanente: /questoes/qg347473