BigInteger en C?

¿Cuál es la forma más fácil de manejar números enormes en C? Necesito almacenar valores en el Área 1000 ^ 900 …

¿Alguien sabe de una manera fácil de hacer eso? ¡Cualquier ayuda realmente sería apreciada!

Use libgmp :

GMP es una biblioteca gratuita para la aritmética de precisión arbitraria, que opera con enteros con signo, números racionales y números de coma flotante. No existe un límite práctico para la precisión, excepto los implicados por la memoria disponible en la máquina en la que se ejecuta GMP …

Desde la versión 6, GMP se distribuye bajo las licencias duales, GNU LGPL v3 y GNU GPL v2 …

Las plataformas objective principales de GMP son sistemas de tipo Unix, como GNU / Linux, Solaris, HP-UX, Mac OS X / Darwin, BSD, AIX, etc. También se sabe que funciona en Windows tanto en 32 bits como en 64- modo de bit …

Hay algunas bibliotecas para ayudarlo a hacer esto (matemática de precisión arbitraria):

  • BigDigits ;
  • iMath ;
  • decNumber ; y
  • sin duda otros.

Asumiendo que esto no está relacionado con el trabajo (es decir, lo estás haciendo por diversión o es un pasatiempo o simplemente una oportunidad para aprender algo), codificar una biblioteca para matemáticas de precisión arbitraria es un proyecto relativamente interesante. Pero si necesita confiar absolutamente en él y no está interesado en los aspectos prácticos, simplemente use una biblioteca.

Hay una serie de bibliotecas para manejar grandes cantidades alrededor. ¿Necesitas aritmética de números enteros o coma flotante?

Puede ver el código incorporado en Python para la tarea.

Puede ver las extensiones de Perl para la tarea.

Puede ver el código en OpenSSL para la tarea.

Puede consultar la biblioteca GNU MP (multi-precisión), tal como lo menciona kmkaplan.

    Intereting Posts