Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Befehl zum Prüfen ob eine Zahl gerade oder ungerade ist


DoctorT4ever - Do 12.02.04 12:42
Titel: Befehl zum Prüfen ob eine Zahl gerade oder ungerade ist
....genau darum gehts, es gibt doch einen befehl mit dem man festellen kann ob eine zahl gerade oder ungerade ist, wie lautet der nochmal?

danke


MaxOff - Do 12.02.04 12:47

Bitte:

Delphi-Quelltext
1:
2:
3:
4:
If (DeineZahl Mod 2) <> 0 Then
  IstGerade
Else 
  IstUngerade;

Wenn bei der ganzzahligen Division durch 2 kein Rest bleibt(ist bei geraden der Fall) dann ist die Zahl gerade


CenBells - Do 12.02.04 12:50

hallo,

ich bin mir nicht ganz sicher, aber gab es nicht mal den befehl even(deinezahl: Integer): Boolean

Gruß
Ken


Delete - Do 12.02.04 13:52

Man kann sich natürlich auch die Eigenart des Binärsystems zu Nutze machen, dass eine Zahl gerade ist, wenn das letzte Bit = 0 ist.

=>

Quelltext
1:
2:
 Var X:Integer;
 If (X and $00000001) = 0 then ist die Zahl eben gerade, ne


Würde tippen, dass das schneller ist als mod 2, es sei denn die Optimierung von Delphi erkennt das und wandelt es um.

Kann man auch gut nehmen um die Teilbarkeit durch jede andere beliebige 2er Potenz zu testen.


Phantom1 - Do 12.02.04 14:15

Du meinst warscheinlich diese Delphi-Function hier:


Delphi-Quelltext
1:
function Odd(X: Longint): Boolean;                    


mfg