Suchergebnisse

Suchergebnisse 1-8 von insgesamt 8.

  • Benutzer-Avatarbild

    Overflow boundary checking

    Rikudo - - Sonstige Problemstellungen

    Beitrag

    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…

  • Benutzer-Avatarbild

    Overflow boundary checking

    Rikudo - - Sonstige Problemstellungen

    Beitrag

    @slice Und wie wurde ich das am besten nutzen damit ich true oder false zuruckbekomme je nach dem ob die Operation overflowed?

  • Benutzer-Avatarbild

    Overflow boundary checking

    Rikudo - - Sonstige Problemstellungen

    Beitrag

    @φConst Das ist schon mal ein guter Ansatz. Ist zwar für int aber sollte ja genauso für longs funktionieren, werd ich gleich mal testen.

  • Benutzer-Avatarbild

    Overflow boundary checking

    Rikudo - - Sonstige Problemstellungen

    Beitrag

    @φ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?

  • Benutzer-Avatarbild

    Overflow boundary checking

    Rikudo - - Sonstige Problemstellungen

    Beitrag

    @φ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)

  • Benutzer-Avatarbild

    Overflow boundary checking

    Rikudo - - Sonstige Problemstellungen

    Beitrag

    @φConst hmmm okay. Wie wuerde man es denn fuer die anderen Datentypen testen? Bei float point operations kann man evtl auf positiv infinity oder negative infinity testen? Aber wieso funktioniert byte auch nicht? Seltsam.

  • Benutzer-Avatarbild

    Overflow boundary checking

    Rikudo - - Sonstige Problemstellungen

    Beitrag

    @jvbsl Ich habe deine Loesung noch um den MinValue check erweitert, der hat noch gefehlt: C#-Quellcode (43 Zeilen) Mich wuerde trotzdem brennend interessieren wie man das noch erweitern kann das auch floatingpoint operations unterstuetzt werden, d.h. float und double.

  • Benutzer-Avatarbild

    Overflow boundary checking

    Rikudo - - Sonstige Problemstellungen

    Beitrag

    @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.