Pregunta

Estoy revivir esta pregunta, y lo que es más específico: ¿Hay una biblioteca de .NET Framework que soporta números con dígitos de precisión arbitraria

?
¿Fue útil?

Solución

Hay algunas opciones aquí.

Una buena opción es W3b.Sine , que es nativa de C # /. NET, y es compatible con precisión arbitraria valores de punto flotante.

Si sólo se trata de valores enteros, IntX proporciona soporte para enteros de precisión arbitraria valores. Una opción potencialmente más madura sería C # BigInt , pero de nuevo, esto no va a apoyar las operaciones de punto flotante .

Otros consejos

¿Se puede esperar a que .NET 4.0? Son trayendo BigInteger directamente en el marco.

Por otro lado, si usted no puede esperar, entonces el J # tiempo de ejecución incluye soporte incorporado para java.math.BigInteger y BigDecimal . Esta es redistribuido al igual que el resto de .NET Framework.

Se puede probar con el viejo método de mantisa. Básicamente, usted podría tener un entero de 64 bits para almacenar el número y luego un entero de 64 bits para almacenar el exponente (que podría ser negativo). Se puede construir su propio tipo de objeto y la sobrecarga de los operadores aritméticos, por lo que será tratada como un solo número. Se requiere algo de trabajo, pero creo que va a ser su mejor opción.

GnuMpDotNet: http://www.emilstefanov.net/Projects/GnuMpDotNet/

Si necesita .NET pura considerar el mirar en esto: http://www.codeplex.com/IntX /

Tal vez sorprendentemente, el Bailey-Borwein-Plouffe fórmula da un procedimiento incremental para el cálculo de la siguiente dígito binario o hexadecimal de pi sin necesidad de almacenar todos los dígitos anterior.

Si desea una biblioteca muy rápido luego tratar:

http://www.emilstefanov.net/Projects/GnuMpDotNet/

Puede utilizar el tipo de decimal que le da 28-29 dígitos significativos

Comprobar este enlace http://jsfromhell.com/classes/bignumber es un código javascript pero se puede convertir fácilmente a su cuenta en cualquier idioma o en C #.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top