![]() |
C-Übersetzg: if(!(i%2))
hallo,
folgendes saumäßiges C-Fragment:
Code:
ich würd das mal übersetzen mit:
int i;
... if(!(i%2)) { }
Delphi-Quellcode:
stimmt das?
if i mod 2 = 0 then
EDIT: vertippselt. |
Re: C-Übersetzg: if(!(i%2))
Zitat:
Delphi-Quellcode:
So lautet der Befehl richtig. Sonst stimmt es.
if i mod 2 = 0 then
|
Re: C-Übersetzg: if(!(i%2))
Hätte es jetzt so übersetzt:
Delphi-Quellcode:
var i: Integer;
begin if not(i mod 2) then begin {...} end; end; Gruß bigg. |
Re: C-Übersetzg: if(!(i%2))
Die Übersetzung wäre 1zu1 übersetzt. Delphi könnte da aber Probleme mit dem Typ Integer <-> Boolean bekommen. Habs allerdings noch nicht getestet wir er in if Abfragen auf integer reagiert.
Hintergrund ist, dass es in C einfach keinen Boolean gibt. Da gibt es nur die integer. 0 steht für false, alles andere für true. |
Re: C-Übersetzg: if(!(i%2))
In C gibt es keinen boolschen Werte? :shock:
Doch: bool! PS: Mein Beispiel von oben funktioniert nicht ganz, müsste noch eine Bedingung mit ran gestellt werden. |
Re: C-Übersetzg: if(!(i%2))
Man könnte auch if odd(i) then ... schreiben - ist noch einfacher :stupid:
|
Re: C-Übersetzg: if(!(i%2))
Delphi-Quellcode:
asm
and eax 1 jnz @endif end; |
Re: C-Übersetzg: if(!(i%2))
Zitat:
|
Re: C-Übersetzg: if(!(i%2))
Danke euch allen.
@bigg: Ich weiß, dass da Schweinereien passieren, aber die wollt ich jetzt nicht 1 zu 1 in Delphi übernehmen. |
Re: C-Übersetzg: if(!(i%2))
Das war mehr oder weniger eine "Zuspitzung" der ganzen anderen Alternativlösungen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:38 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 by Thomas Breitkreuz