Questão de Algoritmos e Estrutura de Dados — Estrutura de Dados — FCC 2023
Algoritmos e Estrutura de Dados›Estrutura de Dados
Código
fc068628
Banca
FCC
Órgão
Copergás - PE
Ano
2023
Nível
Superior
Cargo
Analista Sistemas
Considere os seguintes dados a serem armazenados em variáveis, em condições ideais:I. F28A05B16II. 11111000001010102III. 17894506.7583Os tipos de variáveis que conseguem armazenar adequadamente e sem perdas os valores constantes em I, II e III são, correta e respectivamente:
Aponto fixo de 2 bytes − inteiro de 2 bytes com sinal − ponto flutuante de 4 bytes.
Binteiro de 2 bytes − inteiro de 4 bytes com sinal − ponto fixo de 2 bytes.
Cinteiro de 4 bytes − inteiro de 2 bytes sem sinal − ponto flutuante de 4 bytes.
Dinteiro de 4 bytes − inteiro de 2 bytes com sinal − ponto flutuante de 1 byte.
Eponto flutuante de 4 bytes − inteiro de 1 byte sem sinal − ponto fixo de 2 bytes.
Revelar gabarito e comentário▾
GabaritoC — inteiro de 4 bytes − inteiro de 2 bytes sem sinal − ponto flutuante de 4 bytes.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Tipos de dados para valores numéricos com e sem sinal
Gabarito: letra C. O valor I (F28A05B em hexadecimal) cabe em 4 bytes (32 bits); o valor II (1111100000101010 em binário = 63530) ultrapassa o limite do inteiro com sinal de 2 bytes, necessitando de 2 bytes sem sinal; o valor III (17894506.7583) possui parte decimal, exigindo ponto flutuante de 4 bytes.
A questão testa a capacidade de identificar o menor tipo inteiro capaz de armazenar um número sem perda, considerando os limites de cada representação.
Valor I — F28A05B16
O valor é um hexadecimal de 7 dígitos: F28A05B (considerando que o "16" subscrito indica base). Em decimal, corresponde a 254.320.731, que cabe em um inteiro de 4 bytes (32 bits) sem sinal (máx. 4.294.967.295) e também com sinal (máx. 2.147.483.647). Portanto, o tipo adequado é inteiro de 4 bytes.
Valor II — 11111000001010102
Conversão para decimal: 63530. O maior valor para um inteiro com sinal de 2 bytes (16 bits) é 32767; para sem sinal é 65535. Como 63530 > 32767, ele não cabe em um inteiro com sinal de 2 bytes, mas cabe perfeitamente em um inteiro sem sinal de 2 bytes. Logo, o tipo correto é inteiro de 2 bytes sem sinal.
Valor III — 17894506.7583
Apresenta parte fracionária, portanto requer um tipo de ponto flutuante. A opção disponível é ponto flutuante de 4 bytes (float). Embora possa haver perda de precisão para números muito grandes, este valor está dentro da faixa de representação (aproximadamente 7 dígitos significativos) e é a escolha mais adequada entre as alternativas apresentadas.
Alternativa A — ❌ Incorreta
ponto fixo de 2 bytes para I: inadequado, pois I é inteiro e requer 4 bytes.
inteiro de 2 bytes com sinal para II: não comporta 63530 (limite 32767).
ponto flutuante de 4 bytes para III: correto isoladamente, mas as anteriores erram.
Alternativa B — ❌ Incorreta
inteiro de 2 bytes para I: insuficiente (cabe apenas até 65535, I vale 254 milhões).
inteiro de 4 bytes com sinal para II: embora armazene, não é o tipo mais adequado (usa mais espaço); além disso, a sequência não corresponde à ordem pedida.
ponto fixo de 2 bytes para III: não consegue representar adequadamente o valor com parte decimal.
Alternativa C — ✅ Correta ⟜ GABARITO
inteiro de 4 bytes para I: exato.
inteiro de 2 bytes sem sinal para II: exato.
ponto flutuante de 4 bytes para III: adequado.
Alternativa D — ❌ Incorreta
inteiro de 4 bytes para I: correto.
inteiro de 2 bytes com sinal para II: falha (63530 > 32767).
ponto flutuante de 1 byte para III: não existe na prática (1 byte de ponto flutuante não tem precisão suficiente).
Alternativa E — ❌ Incorreta
ponto flutuante de 4 bytes para I: desnecessário e pode introduzir imprecisão; inteiro é mais adequado.
inteiro de 1 byte sem sinal para II: 1 byte só vai até 255.
ponto fixo de 2 bytes para III: não comporta o valor.
NÃO CAIA NESSA!
A banca explora a diferença entre inteiros com e sem sinal. O candidato pode esquecer que o binário 1111100000101010 vale 63530, que excede o limite do signed short (32767). Preste atenção nos intervalos: sempre converta o valor para decimal e compare com os limites de cada tipo.
Gabarito: letra C — respectivamente: inteiro de 4 bytes, inteiro de 2 bytes sem sinal, ponto flutuante de 4 bytes.