Imagine que um técnico em TI esteja escrevendo um programa...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: B - unsigned short int.
No contexto da programação em C, a escolha do tipo de dado apropriado para uma variável é importante para otimizar o uso da memória, especialmente em sistemas embarcados ou com recursos limitados. Tipos de dados inteiros em C podem ser divididos em dois grandes grupos: signed (com sinal) e unsigned (sem sinal). Os tipos signed podem armazenar tanto valores positivos quanto negativos, enquanto os unsigned armazenam apenas valores positivos, dobrando assim a capacidade máxima de armazenamento positivo comparado com um tipo signed de mesmo tamanho.
Na arquitetura de 32 bits, o tamanho de um short int é geralmente de 16 bits, o que significa que ele pode armazenar valores de -32.768 a 32.767 quando signed, e de 0 a 65.535 quando unsigned. Por outro lado, um int geralmente tem 32 bits de tamanho, podendo armazenar valores muito maiores.
Para o caso do técnico em TI que deseja registrar o número de torcedores pagantes em um estádio com capacidade máxima de 50.000 pessoas, o uso de um unsigned short int é a escolha mais econômica. Como os torcedores pagantes serão sempre um número positivo e não excederão a capacidade do estádio, não há necessidade de um int, que utiliza mais memória. Além disso, um short int signed não seria suficiente, pois seu limite máximo é 32.767, que é inferior à capacidade do estádio.
Portanto, a alternativa unsigned short int é a mais adequada, pois utiliza a menor quantidade de memória enquanto ainda é capaz de armazenar valores até 65.535, o que é mais do que suficiente para o número de pessoas de um estádio de 50.000 lugares.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
a) short int. 16 bits, porém com sinal o espaço amostral (range) = -32768 até 32767
b) unsigned short int. GABARITO, tamanho = 16 bits, range = 0 até 65535
c) int. Tamanho 32 bits
d) unsigned int. 32 bits , porém com range menor do int com sinal.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo