Primitive Typen (wie Int32
, Int64
) haben eine endliche Länge, die für eine so große Zahl nicht ausreicht. Zum Beispiel:
In diesem Fall würden Sie 128 Bits benötigen, um diese Zahl darzustellen. Mit .NET Framework 4.0 gibt es einen neuen Datentyp für beliebig große Ganzzahlen System.Numerics. BigInteger . Sie müssen keine Größe angeben, da durch die Zahl abgeleitet wird (das bedeutet, dass Sie möglicherweise sogar eine OutOfMemoryException
erhalten, wenn Sie beispielsweise eine Multiplikation von zwei sehr großen Werten ausführen Zahlen).
Um zu Ihrer Frage zurückzukehren, analysieren Sie zuerst Ihre hexadezimale Zahl:
%Vor%Dann einfach auf die Konsole drucken:
%Vor%Sie könnten daran interessiert sein zu berechnen, wie viele Bits Sie benötigen, um eine beliebige Zahl darzustellen, benutzen Sie diese Funktion (wenn ich mich recht erinnere, stammt die ursprüngliche Implementierung aus C Numerical Recipes):
%Vor%Dann um die erforderliche Größe einer Zahl zu berechnen, geschrieben als String:
%Vor% Wenn Sie nur größere Zahlen verwenden möchten, gibt es BigInteger
mit vielen Ziffern.
Tags und Links python biginteger .net c#