Estou tentando pensar em como eu faria cálculos em números extremamente grandes (até o infinito - não interfere em flutuações) se a construção da linguagem for incapaz de lidar com números maiores que um determinado valor.
Tenho certeza de que não sou o primeiro nem o último a fazer essa pergunta, mas os termos de pesquisa que estou usando não estão me dando um algoritmo para lidar com essas situações. Em vez disso, a maioria das sugestões oferece uma mudança de idioma ou variável, ou fala sobre coisas que parecem irrelevantes para minha pesquisa. Então, eu preciso de um pouco de orientação.
Eu esboçaria um algoritmo como este:
Determine o comprimento máximo da variável inteira para o idioma.
Se um número tiver mais da metade do comprimento máximo da variável, divida-o em uma matriz. (dê uma pequena sala de jogos)
Ordem da matriz [0] = os números mais à direita [n-max] = números mais à esquerda
Ex. Num: 29392023 Matriz [0]: 23, Matriz [1]: 20, Matriz [2]: 39, Matriz [3]: 29
Como eu estabeleci metade do comprimento da variável como ponto de marcação, então eu posso calcular os décimos, centésimos, etc. pela metade desses cinco dígitos me dá um pouco de espaço para brincar.
Portanto, se eu adicionar ou multiplicar, posso ter uma função de verificador variável que veja que o sexto dígito (à direita) da matriz [0] é o mesmo local que o primeiro dígito (à direita) da matriz [1].
Dividir e subtrair têm seus próprios problemas nos quais ainda não pensei.
Gostaria de saber sobre as melhores implementações de suporte a números maiores do que o programa pode.