Eisbär: Kann man prüfen ob eine Zahl gerade ist?

Beitrag lesen

Hallo Martin

Welcher Algorithmus läuft bei Modulo 2 in etwa ab?
Welches sind die markanten Schritte in einer Modulo-Operation?

Beim Modulo wird intern eine Division ausgeführt und statt dem Quotienten einfach der Divisionsrest genommen. Da heute - von einigen RISCs und µCs mal abgesehen - so ziemlich jede CPU von sich aus Integer-Divisionen unterstützt, ist der Zeitbedarf minimal. Und die Modulo-Operation ist eh nur für Ganzzahlen (also Integers) definiert. Streng mathematisch sogar nur für positive ganze Zahlen, obwohl viele Script Engines oder C-Runtimes die Operation auch hemmungslos mit negativen Zahlen ausführen. Was dabei rauskommt, ist allerdings nicht klar festgelegt.

Aber auch wenn die Division in einem Divisions-Modul der CPU vorgenommen wird, wird Sie doch merklich mehr Taktzyklen benötigen, da die Division die wahrscheinlich aufwendigste Grundoperation ist.
Oder habe ich da was falsch verstanden?

Aus reiner Neugier ;-)

Ist deine Neugier damit befriedigt? *SCNR*

Noch nicht ganz, auch wenn ich zugebe, dass die paar Takte bei irgenwelchen GHz-CPUs im Einzelfall vernachlässigbar sind ;-)

Das Ganze erinnert mich aber an die Probleme bei der Implementation eine Langzahl-Bibliothek, wo die Division-Operationen mit die aufwändigsten in Bezug auf Codierung und Performance waren.

Grüsse
Eisbär