Question

.NET est-il livré avec une classe capable de représenter des entiers extrêmement grands, tels que la factorielle 100 ?Sinon, quelles sont les bonnes bibliothèques tierces pour y parvenir ?

Était-ce utile?

La solution

.NET 4 a un GrandEntier classe

Représente un entier signé arbitrairement grand.

Le type BigInteger est un type immuable qui représente un entier arbitrairement grand dont la valeur n'a en théorie pas de limite supérieure ou inférieure.Ce type diffère des autres types intégraux du .NET Framework, qui ont une plage indiquée par leurs propriétés MinValue et MaxValue.

Autres conseils

.NET a une classe BigInteger, mais elle est malheureusement interne.Cependant, plusieurs lieux possèdent le leur.Vous pouvez récupérer une implémentation depuis IronPython, ou celle de CodeProject, ou de Visual J#.Je dois dire que je ne les ai pas essayés moi-même, donc je ne sais pas lequel est le meilleur.

http://www.codeplex.com/IronPython http://www.codeproject.com/KB/cs/biginteger.aspx http://msdn.microsoft.com/en-us/magazine/cc163696.aspx

Microsoft.FSharp.Math.Types.BigInt

Il peut représenter n’importe quel entier.

Voici un lien vers la documentation des grands entiers dans le framework 4.0

http://msdn.microsoft.com/en-us/library/system.numerics.biginteger(VS.100).aspx

Mono a déjà une implémentation publique BigInteger :

http://www.go-mono.com/docs/index.aspx?link=T:Mono.Math.BigInteger

Vous pouvez simplement récupérer l'assembly Mono.Security pour l'utiliser ;puisqu'il s'agit d'une bibliothèque de classes Mono, elle devrait également être sous licence MIT.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top