69 votes

Int128 en .Net?

J'ai besoin de faire des calculs de grand entier. Existe-t-il des classes ou des structures qui représentent un entier de 128 bits et implémentent tous les opérateurs habituels?

BTW, je me rends compte que le nombre décimal peut être utilisé pour représenter un int 96 bits.

51voto

Larsenal Points 17080

C'est ici dans System.Numerics . "Le type BigInteger est un type immuable qui représente un entier arbitrairement grand dont la valeur en théorie n’a pas de limite supérieure ni inférieure."

 var i = System.Numerics.BigInteger.Parse("10000000000000000000000000000000");
 

14voto

Jon Skeet Points 692016

Non, il n'y a rien dans .NET <= 3.5. J'espère / espère que BigInteger fera son retour dans .NET 4.0. (Il a été coupé de .NET 3.5 .)

5voto

Simon Mourier Points 49585

J'ai commencé une implémentation open source d'une classe Int128 qui prend en charge toutes les versions de .NET Framework 2 à 4, y compris Silverlight et Windows Phone 7, disponibles ici: http://int128.codeplex.com/

4voto

Charles Burns Points 3745

BigInteger est maintenant une partie standard de C # et d'amis dans .NET 4.0. Voir: le blog ASP.NET de Gunnar Peipman .

3voto

sbeskur Points 1194

Si cela ne vous dérange pas de faire référence à la bibliothèque J # (vjslib.dll incluse avec VS par défaut), il existe déjà une implémentation de BigInteger dans .NET.

 using java.math;

public static void Main(){
    BigInteger biggy = new BigInteger(....)

}
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X