Hallo Vinzenz,
$bitmask = Array(0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80);
if ($foo & $bitmask[$botposition])Hab die Probe aufs Exempel gemacht und festgestellt, dass es mindestens eine Größenordnung langsamer ist. Der Spontantest war mittels PHP, daher nicht besonders repräsentativ, aber ganz zu vernachlässigen ist das sicher nicht.
mit einer ungeeigneten Sprache. PHP-Arrays sind - soweit ich weiß - verkettete Listen, so dass Du im Gegensatz zu C Deine Zugriffe auf Array-Elemente nicht
in konstanter Zeit erfolgen, sondern O(n) sind.
Der Aufwand, um z.B. auf $bitmask[3] zuzugreifen, ist aber konstant, wenn auch natürlich größer als mit einem echten Array. Ich sehe also bzgl. der Komplexität kein Problem.
Ich habe gerade versucht, etwas über die Array-Implementierung in PHP zu finden. Weißt du, wo man sich das zu Gemüte führen kann?
d.h. bei Programmierung in C hättest eine schnellere Abarbeitung.
Das sowieso.
Bye,
Peter