AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ungerade und gerade Zahlen erkennen

Ein Thema von Inkompetent · begonnen am 24. Mai 2019 · letzter Beitrag vom 11. Jun 2019
 
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.631 Beiträge
 
Delphi 12 Athens
 
#13

AW: ungerade und gerade Zahlen erkennen

  Alt 24. Mai 2019, 11:35
Odd ist allerdings immer noch die schnellste Option.

Bei Odd gibt es lediglich einen TEST call auf das Lo-Byte und einen bedingten Sprung:
Code:
Project543.dpr.9: if Odd(N) then
0040A10A F60588F5400001   test byte ptr [$0040f588],$01
0040A111 741B            jz $0040a12e
während der Weg über mod schon ein paar mehr CPU-Befehle braucht:
Code:
Project543.dpr.13: if N mod 2 = 0 then
0040A147 A188F54000       mov eax,[$0040f588]
0040A14C 2501000080       and eax,$80000001
0040A151 7905             jns $0040a158
0040A153 48               dec eax
0040A154 83C8FE          or eax,-$02
0040A157 40               inc eax
0040A158 85C0             test eax,eax
0040A15A 751B            jnz $0040a177
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
 

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz