Gerade oder ungerade Zahlen feststellen

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
Froggerprogger
Badmin
Beiträge: 855
Registriert: 08.09.2004 20:02

Beitrag von Froggerprogger »

Yo, ich habe im Feature-Request-Forum eine Anfrage geschrieben. Für einen Bug ist es nicht wirklich böse genug.
Bei Interesse:

http://www.purebasic.fr/english/viewtop ... 202#173202
!UD2
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

NicTheQuick hat geschrieben:
remi_meier hat geschrieben:Irgendwie kann ich mit einem negativen Operanden bei Modulo nix anfangen.
Also mich stört es nicht, dass es für negative Zahlen nicht immer geht.
Warum? Ist doch praktisch, z. B. bei Winkeln:
[...]
Welches Beispiel würde nun anders laufen mit einem "regulären" Mod?

Ich habe nur noch nie einen negativen Rest benötigt, meine Winkel
befinden sich z. B. immer im positiven Bereich.
Aber natürlich wirde es irgendwo eine Anwendung dafür geben...

Schade nur, wenn sie entfernt würde, denn diese Optimierung bringt sehr
viel...
Benutzeravatar
Froggerprogger
Badmin
Beiträge: 855
Registriert: 08.09.2004 20:02

Beitrag von Froggerprogger »

Schade nur, wenn sie entfernt würde, denn diese Optimierung bringt sehr
viel...
Man kann ja jederzeit selbst ein a & 255 anstelle von a % 256 nutzen.

Bitoperationen sind schneller als modulo, und auch nicht schwerer zu verstehen. Jemand, dem es darauf ankommt, sollte wissen, wie, wann und warum er lieber a & 255 nimmt und wann lieber ein konsistentes und konformes modulo.

Optimierungen sollten niemals ohne Warnung etwas am Verhalten einer Funktion verändern, und solcherart sollten optional sein.
!UD2
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

> Man kann ja jederzeit selbst ein a & 255 anstelle von a % 256 nutzen.
klar
> Bitoperationen sind schneller als modulo, und auch nicht schwerer zu
> verstehen. Jemand, dem es darauf ankommt, sollte wissen, wie, wann
> und warum er lieber a & 255 nimmt und wann lieber ein konsistentes
> und konformes modulo.
Ansichtssache

> Optimierungen sollten niemals ohne Warnung etwas am Verhalten einer
> Funktion verändern, und solcherart sollten optional sein.
Bis jetzt scheint es niemanden gestört zu haben :mrgreen: , aber wahr
ist es.


Das einzige, was ich sagen möchte, ist, dass man dieses Problem nicht
zu hoch hypen sollte, denn es betrifft eh kein Schwein :twisted:
Benutzeravatar
Froggerprogger
Badmin
Beiträge: 855
Registriert: 08.09.2004 20:02

Beitrag von Froggerprogger »

Das Problem ist ein Elefant ! Das Problem ist ein Elefant ! Das Problem ist... äh.... das IST ja gar kein Elefant!
!UD2
marco2007
Beiträge: 906
Registriert: 26.10.2006 13:19
Kontaktdaten:

Beitrag von marco2007 »

Hi,

...es geht auch einfacher mit PB:

even(Zahl)
odd(Zahl)

debug even(2) = 1
debug even(3) = 0

debug odd(2)=0
debug odd(3)=1

...bin rein zufällig draufgekommen....bei eventgadget habe ich`s in der Statusbar bemerkt..

Marco


PB 4.01
WinXp
Windows 11 - PB 6.03 x64
_________________________________
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8808
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

@marco2006:
Even und Odd gibt es noch nicht als Funktionen. Du hast sicherlich irgendeine
Userlib installiert.
marco2007
Beiträge: 906
Registriert: 26.10.2006 13:19
Kontaktdaten:

Beitrag von marco2007 »

ja, stimmt....habe gerade gesehen, dass diese Funktion bei droopy drin ist...naja, bin eben Anfänger un installier alles, ohne zu wissen, was alles...

Wollte kurz noch sagen, dass einzige, was ich in all den Texten üner Macros und ASM verstanden habe, ist gerade und ungerade.... :oops:
Windows 11 - PB 6.03 x64
_________________________________
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

> ...naja, bin eben Anfänger un installier alles, ohne zu wissen, was alles...

das solltest du dir abgewöhnen... kann mal nach hinten losgehen...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten