Forum: Programmieren allgemein
by Neutral General,
23. Feb 2016
Das stimmt so auch nicht. Der Compiler legt oft Sprungtabellen an wodurch das case-of selbst eine Art Array auf Assemblerebene wird. (Und gerade bei diesem case-of bietet es sich mehr als an)
Da gibts dann auch keinen so großen Unterschied zu einem direkten Zugriff auf ein Array. Wobei der direkte Zugriff sicherlich immernoch ein Stückchen schneller (und in meinen Augen) schöner zu lesen ist als...
Forum: Programmieren allgemein
by Neutral General,
23. Feb 2016
Das Array ist wahrscheinlich noch schneller als das case, aber sonst ist alles was berechnet werden muss natürlich langsamer.
Forum: Programmieren allgemein
by Neutral General,
23. Feb 2016
Oder man spart sich die Tipparbeit auf andere Weise:
function SwapByte(B: Byte): Byte;
var i: Integer;
begin
Result := 0;
for i:= 0 to 7 do
Result := Result or (((b shr i) and 1) shl (7-i));
end;