Suchergebnisse
Suchergebnisse 1-8 von insgesamt 8.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
-
Hey, Folgendes: Gegeben ist eine Zahl. Diese Zahl soll in zwei Zahlen zerlegt werden die addiert die Ursprüngliche Zahl ergeben. Das ist kein Problem, allerdings gilt es, ein vernünftiges Boundary-checking zu machen. Für Int32 Werte habe ich das wie folgt gelöst: C#-Quellcode (15 Zeilen) Nun möchte ich aber das ganze für longs, d.h. Int64 Werte machen, und zwar ohne dabei BigInteger oder decimal zu verwenden. Kann man prüfen ob die Operation für zwei longs overflowed indem man evtl klevere Bit-c…
-
@φConst Danke deine generische Lösung ist auf jeden Fall interessant. Kannst du vielleicht noch erklären welche der vielen Interfaces in der Methodensignatur für was genau verwendet werdet werden, krieg das noch nicht so ganz in meinen Kopf ^^" Ist die Bedingung für Overflowchecks immer die Gleiche unabhängig von der Rechenoperation? Also was ist bspw mit Subtraktion statt Addition? Wenn ich die eine Zahl von der anderen abziehe um auf die Ursprüngliche Zahl zu kommen?
-
@φConst Das ist eigentlich recht clever, jetzt verstehe ich das auch. Allerdings scheint das ganze nicht sehr zuverlassig zu funktionieren. Hier ein Beispiel, das definitv overflowed aber die Funktion gibt false zuruck. Bei int und long scheint es zu gehen, bei byte, float und double irgendwie nicht so richtig, woran liegt das? C#-Quellcode (14 Zeilen)
-
@jvbsl @RodFromGermany @φConst Danke fuer die Tipps. Also irgendwie haut das nicht so ganz hin... Ich habe versucht auf Nan und Infinity zu pruefen aber das klappt nicht. C#-Quellcode (16 Zeilen) Wenn nicht so wie soll man es sonst pruefen. Muss doch irgendwie moglich sein. Ich wurde namlich gerne in die Funktion die @jvbsl geschrieben hat support fur floatingpoint types einfuegen. Fuer int's klappts ja bereits gut.