Registriert seit: 17. Nov 2005
Ort: Hamburg
1.077 Beiträge
Delphi XE2 Professional
|
AW: Operationen mit Bitstrukturen optimieren
30. Okt 2017, 18:50
Eventuell so:
(Nicht getestet!)
Delphi-Quellcode:
PROCEDURE GetSteps(H1,H2,H3:Byte; var DX,DY:Integer);
begin
DX:=Ord(H1 and 1>0) - // dx:=StrToInt(hs1[8]) -
Ord(H1 and 2>0) + // StrToInt(hs1[7]) +
9*Ord(H1 and 4>0) - // 9*StrToInt(hs1[6]) -
9*Ord(H1 and 8>0) + // 9*StrToInt(hs1[5])+
3*Ord(H2 and 1>0) - // 3*StrToInt(hs2[8]) -
3*Ord(H2 and 2>0) + // 3*StrToInt(hs2[7]) +
27*Ord(H2 and 4>0) - // 27*StrToInt(hs2[6]) -
27*Ord(H2 and 8>0) + // 27*StrToInt(hs2[5]) +
81*Ord(H3 and 4>0) - // 81*StrToInt(hs3[6]) -
81*Ord(H3 and 8>0); // 81*StrToInt(hs3[5]);
DY:=Ord(H1 and 128>0) - // dy:=StrToInt(hs1[1]) -
Ord(H1 and 64>0) + // StrToInt(hs1[2]) +
9*Ord(H1 and 32>0) - // 9*StrToInt(hs1[3]) -
9*Ord(H1 and 16>0) + // 9*StrToInt(hs1[4]) +
3*Ord(H2 and 128>0) - // 3*StrToInt(hs2[1]) -
3*Ord(H2 and 64>0) + // 3*StrToInt(hs2[2]) +
27*Ord(H2 and 32>0) - // 27*StrToInt(hs2[3]) -
27*Ord(H2 and 16>0) + // 27*StrToInt(hs2[4]) +
81*Ord(H3 and 32>0) - // 81*StrToInt(hs3[3]) -
81*Ord(H3 and 16>0); // 81*StrToInt(hs3[4]);
end;
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
|