Es gibt bereits Lösungen für dieses Problem für kleine Zahlen:Differenz zwischen zwei großen Zahlen C#
- hier: Difference between 2 numbers
- hier: C# function to find the delta of two numbers
- hier: How can I find the difference between 2 values in C#?
I Ich fasse die Antwort auf alle zusammen:
Math.Abs(a - b)
Das Problem ist , wenn die Zahlen groß sind dies gibt die falsche Antwort (mittels eines Überlaufs). Schlimmer noch, wenn (a - b) = Int32.MinValue
dann Math.Abs
mit einer Ausnahme abstürzt (weil Int32.MaxValue = Int32.MinValue - 1
). Seine spezifische Natur führt zu schwer zu reproduzierenden Fehlern.
Vielleicht fehlt mir eine wohlbekannte Bibliotheksfunktion, aber gibt es irgendeine Möglichkeit, den Unterschied sicher zu bestimmen?
BigInteger - https://msdn.microsoft.com/en-us/library/system.numerics.biginteger(v=vs.110).aspx –
Was ist mit der Konvertierung zu einem langen (Int64) und dann den Unterschied zu finden ? – Igor
Sind a und b Int32 oder Int64? – Liam