Questão de Programação — Linguagens de programação — FCC 2019
- Código
- fc057564
- Banca
- FCC
- Órgão
- TJ-MA
- Ano
- 2019
- Cargo
- Técnico Judiciário - Técnico em Informática - Software
- A-128 a 127.
- B0 a 256.
- C-32768 a 32767.
- D-2048 a 2047.
- E0 a 32667.
GabaritoC — -32768 a 32767.
Gabarito: letra C. O tipo primitivo short em Java ocupa 16 bits com sinal (complemento de dois), portanto sua faixa de valores é de -32768 a 32767. Atribuir 32768 a uma variável short gera erro de compilação (ou exceção, no sentido amplo usado pela banca) porque o valor excede o limite máximo positivo.
A questão testa o conhecimento das faixas dos tipos primitivos inteiros em Java. A banca costuma explorar a confusão entre os intervalos de byte, short, int e char. Memorize os limites:
Tipo | Bits | Faixa |
|---|---|---|
byte | 8 | -128 a 127 |
short | 16 | -32768 a 32767 |
int | 32 | -2147483648 a 2147483647 |
char | 16 | 0 a 65535 (sem sinal) |
A faixa -128 a 127 corresponde ao tipo byte (8 bits), não ao short. É a pegadinha mais comum: confundir os dois tipos.
0 a 256 não corresponde a nenhum tipo primitivo inteiro padrão do Java. O tipo char vai de 0 a 65535; byte vai de -128 a 127.
Faixa exata do short: -32768 a 32767. O valor 32768 está uma unidade acima do máximo, causando o erro.
-2048 a 2047 não é faixa de nenhum tipo primitivo Java. Talvez confundam com uma metade do short? Não procede.
0 a 32667 não é faixa de tipo primitivo. O short aceita valores negativos, e o limite superior é 32767.
Decore as faixas usando potências de 2: short = 16 bits = a . Para byte: 8 bits = a . Sempre desconfie de alternativas que usam apenas números positivos para tipos com sinal.
Gabarito: letra C.
Link permanente: /questoes/fc057564