Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

AW: Übersetzen von 3 Zeilen C Code nach Delphi

  Alt 29. Mär 2012, 09:07
Delphi-Quellcode:
const
  v: Array[Boolean] of Word = (0, $A001); // mit Komma, nicht daß sich wer beschwert es funktioniere nicht.
begin
  ...
  crc := (crc shr 1) xor v[crc and 1 <> 0]; // <>0 , denn Delphi gibt es keine automatische Ordinal-Boolean-Konvertierung
  crc := (crc shr 1) xor IfThen(crc and 1 <> 0, 0xA001, 0);
  crc := (crc shr 1) xor IfThen(Odd(crc), 0xA001, 0);
end;
Eine syntaktisch korrekte Übersetzung gibt es leider nicht. (schade eigentlich), aber am Nächsten würde doch wohl Delphi-Referenz durchsuchenIfThen kommen.
Leider ist IfThen nur eine billige Funktion und keine so schöne native Operation, was einige Nachteile mit sich bringt.
- Funktionsaufrufe (Codesprünge)
- alle Parameter werden erst ausgewertet (in C wird nur der verwendete "Parameter" ausgewertet)

Also hier wäre, von der Ausführungsgeschwindigkeit her, das BoolArray natürlich besser.
$2B or not $2B

Geändert von himitsu (29. Mär 2012 um 10:50 Uhr)
  Mit Zitat antworten Zitat