Executando verificação de segurança...
3

Uma dica que apresentaram há algum tempo aqui no Tabnews, se não me engano, foi trabalhar sempre com inteiros e nas respostas "converter" os valores para decimais (centavos). Como você já anunciou, números em ponto flutuante são traiçoeiros (em algumas situações específicas) pois não conseguem representar todos números reais (conforme a estratégia de representação eleita). O exemplo clássico que você usou no seu vídeo 0.1 + 0.2 realmente não será exatamente 0.3 na representação IEEE754 cujo comprimento da mantissa é relativamente curto. Enquanto 0,1 e 0,2 (inclusive 0,3) não são dízimas periódicas no sistema decimal, no sistema binário só podem ser representados (parcialmente na prática) por dízimas periódicas!

Matematicamente existem infinitos números entre qualquer par de inteiros sendo que somente alguns deles são representáveis no sistema finito implementado no computador que considera base 2. Ficou bem claro em seu vídeo com o merecido like! :-)

Certas operações com ponto flutuante são catastróficas se não forem bem implementadas. Por exemplo, considerando a mantissa com apenas 20 dígitos, a operação 1.0E+00 + 1.0E-22 resultará simplemente 1.0E+00 e não 1.0000000000000000000001 como desejado (o motivo é bastante lógico). Para operações simples, não é um problema, contudo, para operações recorrentes, séries e outras aplicações que dependam de acumulação de resultados muito precisos, as pequenas diferenças podem ser relevantes e, "cada caso é um caso".

Ah, e muito bem lembrado por você: deve-se atentar não somente à programação das operações no código fonte, mas também ao armazenamento dos valores no banco de dados. Buscar o melhor compromisso para armazenamento, recuperação, conversão preservando o número original é algo que pode ser investigado caso não encontre uma solução ótima para o seu problema ou por defeitos da linguagem de programação escolhida.


Em sua abordagem didática, pode ser vantajoso, em determinadas ocasiões, apresentar explicações sobre problemas clássicos, como os que você já analisou, a fim de atrair um maior número de visitantes para o seu canal no Youtube. Sugiro que, em um próximo vídeo, você explore o tema das transações simultâneas, detalhando os desafios associados a esse fenômeno e as soluções que foram desenvolvidas ao longo do tempo. Essa perspectiva histórica certamente enriquecerá o conteúdo e poderá despertar o interesse do seu público. Aprender com os gigantes, usar as rodas que já aperfeiçoaram para irmos mais longe.

Carregando publicação patrocinada...