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