Quanto à conversão numérica explícita em C#, assinale a alte...
Quanto à conversão numérica explícita em C#, assinale a alternativa correta.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a C. Vamos analisar o tema abordado na questão e as alternativas apresentadas.
O tema central da questão é a conversão numérica explícita em C#. Esse processo é necessário quando queremos converter um tipo de dado numérico em outro, como de double para float ou de double para int. Essa conversão é chamada de "explícita" porque o programador precisa informá-la deliberadamente, diferentemente da conversão implícita, que o compilador realiza automaticamente quando não há risco de perda de dados.
Agora, vejamos as alternativas:
A - A afirmação de que a conversão numérica explícita não pode causar perda de precisão é incorreta. Na verdade, a principal razão para tornar uma conversão explícita é justamente a possibilidade de perda de precisão ou dados. Por exemplo, ao converter um double para int, a parte decimal é truncada, resultando em perda de precisão.
B - Ao converter um valor do tipo decimal (double) para tipo integral (int), a parte decimal é truncada, o que significa que a conversão resulta sim em um valor truncado. Portanto, essa alternativa está incorreta.
C - Esta alternativa é correta. Quando você converte um número muito pequeno do tipo double para float, ele pode ser arredondado para zero devido às diferenças na capacidade de precisão dos tipos de dados. O double tem uma precisão maior que o float, então valores muito pequenos podem ser representados como zero após a conversão.
D - Na conversão numérica explícita, uma OverflowException não é emitida se os valores estiverem dentro do intervalo do tipo de destino. Exceções de estouro são lançadas quando um valor está fora do intervalo de valores que o tipo de dado de destino pode representar. Portanto, essa afirmação está errada.
E - A afirmação de que a conversão numérica explícita não suscita exceções está incorreta. Na realidade, uma conversão explícita pode lançar exceções, como a OverflowException, se o valor estiver fora do intervalo do tipo de destino ou houver problemas de precisão.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo