Mailinglisten-Archive |
> Vielleicht sieht ja jemand den Fehler ... for($j=0; $j<$bX; $j++) { $M = ($j > 0) ? $j * 64 : 1; $S += $BB[($bX - 1 - $j)] * $M; } hie sollte das problem liegen. dass allererste byte ($BB[0]) darf natuerlich nicht um 6 bits verschoben werden, bzw. wird nur um 6 bits verschoben, wenn es sich um 2 bytes handelt. (weil dann die obersten 2 bits im ersten byte die groesse angeben.) bei drei bytes muss es dementsprechend 8-3 = 5 bits (*32) sein. for($j=0; $j<$bX-1; $j++) { $M = ($j > 0) ? $j * 64 : 1; $S += $BB[($bX - 1 - $j)] * $M; } $S += $BB[0] * (pow(2,8-$bX)); wenn ich mich jetzt nich irre.
php::bar PHP Wiki - Listenarchive