Sabe o papo de pergunta pra um engenheiro civil o valor de Pi e ele responder: bota 5 que aguenta?
Então, no mundo de Desenvolvimento de Software as restrições do Mundo Físico não estão tão diretamente ligadas. O que deixa tudo mais abstrato. Levando as pessoas a não lidar bem quando um bug, que prece simples, aparece.
Por exemplo, quando você faz um sistema que lide com dinheiro é comum você usar um campo inteiro e gravar o valor "multiplicado por 100". Assim evita problemas com centavos.
No entanto, os inteiros tem limitações.
No caso de hoje, o maior inteiro(de 32 bits) que pode ser armazenado é 2.147.483.647. Se você desconsiderar que pode ter números negativos(como em caso de preços de produtos, por exemplo) você pode usar um tipo Inteiro sem sinal. Aumentando o maior número possível para 4.294.967.295
Agora, considerando que a casa da unidade e dezena serão os centavos desse número isso te dá um valor máximo de 42.949.672
Segue não sendo um problema. Poucos sistemas precisam se preocupar com um valor maior do que esse.
Alguns sistemas possuem uma necessidade de maior precisão, como venda de combustível que chega a ter uma precisão de 5 casas de centavos. O que reduz teu número máximo para 42.949.
Obrigado por chegar até aqui.
Agora, o caso concreto onde nego arrumou um problemão por usar um inteiro de 32 bits para um valor monetário com precisão de 4 casas decimais(valor máximo: 429.496)
https://twitter.com/mattrickard/status/1389732069333295104