![]() |
Zahl gerade oder ungerade?
Gibt es die Möglichkeit abzufragen ob eine Zahl gerade/ungerade ist, oder ob diese durch 2 teilbar ist und wenn Sie teilbar/gerade ist einen Boolischen Wert zu bekommen?
(Teilbar/gerade = True; NichtTeilbar/Ungerade = False;) :gruebel: |
Re: Zahl gerade oder ungerade?
Delphi-Quellcode:
raik
odd(i)
|
Re: Zahl gerade oder ungerade?
Delphi-Quellcode:
So, und weil mir der Gedankenblitz erst nach dem Tippen des Codes gekommen ist:
function IsGerade(Zahl: Integer): Boolean;
begin Result := Zahl mod 2 = 0; end; ![]() Greetz alcaeus |
Re: Zahl gerade oder ungerade?
und wenn man sich den binären aufbau der zahlen anschaut kann man sich das mod auch sparen und etwas in der richtung schreiben:
Delphi-Quellcode:
edit: und am rande bemerkt, odd gibt zurück ob die zahl UNgerade ist, ich glaub das war nich ganz die frage :roll: :mrgreen:
function Gerade(const I: Integer): Boolean;
begin Result := I and 1 = 0; end; |
Re: Zahl gerade oder ungerade?
Delphi-Quellcode:
function ungerade(const I: Integer): Boolean;
begin Result := Boolean(I and 1); end; immer diese tags ! |
Re: Zahl gerade oder ungerade?
@HBoy: Sei mal so gut und nutze die [delphi] Tags.
...:cat:... |
Re: Zahl gerade oder ungerade?
[senfmode]Die Funktion Odd ist CompilerMagic, deshalb wird sie wohl schneller sein, als alle selbst gebauten... ;-)[/senfmode]
|
Re: Zahl gerade oder ungerade?
Zitat:
nich unbedingt, als funktion ist Odd nix anderes als
Delphi-Quellcode:
und bei z.B. if Odd(Variable) then halt
function Odd(X: Longint): Boolean;
asm AND EAX,$01 // AND AL,$01 würde sogar schon reichen end;
Delphi-Quellcode:
also ich glaub das kann man auch noch selber so schnell nachbauen wie der compiler :roll:
...
TEST {Register or Memory},$01 J{bedingung} //oder SET{bedingung}, je nach verwendung [/klugscheiß] das musste jetz sein :mrgreen: |
Re: Zahl gerade oder ungerade?
Bin erst im 1.Lehrjahr...
Was sind: Zitat:
if (Durchlauf > 1) and ( if (Odd(Durchlauf)) = False) then funktioniert nicht.... |
Re: Zahl gerade oder ungerade?
Zitat:
...:cat:... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:44 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