Ich habe mit großen Zahlen rumgespielt und dafür auch Numerics.BigInteger getestet.
Folgendes Beispiel habe ich zuerst verwendet.
Ergebnis: 230689527604798659355750777586378001
Ok, die Zahl ist groß. Aber habe ich damit den Bereich von Long überschritten?
Ergebnis: System.OverflowException: "Die arithmetische Operation hat einen Überlauf verursacht."
Das Ergebnis hatte ich erwartet. Neuer Versuch.
Ergebnis: System.OverflowException: "Die arithmetische Operation hat einen Überlauf verursacht."
Damit hatte ich jetzt nicht gerechnet, denn die Variable
Ok, wenn ich alles als BigInteger festlege dann scheint die Berechnung zu klappen.
Ausgehend von der Aussage Grenzen von BigInteger habe ich die Zahlen noch größer gewählt.
Jetzt hat VS2022 die Zahlen mit einer Wellenlinie unterstrichen und gibts folgende Meldung aus: BC30036: Überlauf (Visual Basic-Fehler)
Das widerspricht der Aussage aus Grenzen von BigInteger.
Warum funktioniert das nicht?
Folgendes Beispiel habe ich zuerst verwendet.
Ergebnis: 230689527604798659355750777586378001
Ok, die Zahl ist groß. Aber habe ich damit den Bereich von Long überschritten?
Ergebnis: System.OverflowException: "Die arithmetische Operation hat einen Überlauf verursacht."
Das Ergebnis hatte ich erwartet. Neuer Versuch.
Ergebnis: System.OverflowException: "Die arithmetische Operation hat einen Überlauf verursacht."
Damit hatte ich jetzt nicht gerechnet, denn die Variable
d
hat das richtige Zahlenformat.Ok, wenn ich alles als BigInteger festlege dann scheint die Berechnung zu klappen.
Ausgehend von der Aussage Grenzen von BigInteger habe ich die Zahlen noch größer gewählt.
VB.NET-Quellcode
Jetzt hat VS2022 die Zahlen mit einer Wellenlinie unterstrichen und gibts folgende Meldung aus: BC30036: Überlauf (Visual Basic-Fehler)
Das widerspricht der Aussage aus Grenzen von BigInteger.
Warum funktioniert das nicht?
Aktuelles Projekt: Z80 Disassembler für Schneider/Amstrad CPC