BigInteger em C?
-
05-09-2019 - |
Pergunta
O que é a maneira mais fácil de lidar com grandes números em C? Eu preciso armazenar valores na Área de 1000 ^ 900 ...
Alguém sabe de uma maneira fácil de fazer isso? Qualquer ajuda seria muito apreciada!
Solução
Use libgmp :
GMP é uma biblioteca livre para aritmética de precisão arbitrária, operando em assinado inteiros, números racionais e números de ponto flutuante. Não há limite prático para a precisão exceto os implicados pela memória disponível na máquina GMP roda em ...
Desde a versão 6, GMP é distribuído sob as licenças duplas, GNU LGPL v3 GNU GPL v2 ...
principais plataformas de destino do GMP são sistemas do tipo Unix, como o GNU / Linux, Solaris, HP-UX, Mac OS X / Darwin, BSD, AIX, etc. Ele também é conhecido por trabalhar no Windows, tanto de 32 bits e modo de 64 bits ...
Outras dicas
Existem algumas bibliotecas para ajudar você a fazer isso (matemática de precisão arbitrária):
Assumindo que este não é um trabalho relacionado (ou seja, você está fazendo isso por diversão ou é um hobby ou apenas uma oportunidade de aprender alguma coisa), codificação de uma biblioteca de matemática de precisão arbitrária é um projeto relativamente interessante. Mas se você precisa absolutamente confiar nele e não está interessado nas porcas e parafusos apenas usar uma biblioteca.
Há uma série de bibliotecas para lidar com grandes números ao redor. Você precisa inteiro ou a aritmética de ponto flutuante?
Você pode olhar para o código embutido no Python para a tarefa.
Você poderia olhar para as extensões para o Perl para a tarefa.
Você pode olhar para o código no OpenSSL para a tarefa.
Você pode olhar para o GNU MP (multi-precisão) biblioteca -. Como mencionado por kmkaplan