000
13.01.2006, 11:33 Uhr
FloSoft
Medialer Over-Flow (Administrator)
|
Hi, irgendwie gibts bei mir irgendwo da fehler wo ich irgendwie nich drauf komm. Folgendes:
Ein LZ77 algo:
C++: |
int ol = (offset << 5) + laenge; schreibeByte(ol >>> 8); schreibeByte(ol);
|
schreibeByte schreibt ein Byte in den ausgabestream.
Jedenfalls das funktioniert.
Nun aber das auslesen stimmt nicht ganz:
C++: |
ol = (inByte2) | (inByte << 8);
offset = (ol >>> 5); laenge = (ol & offset);
|
da kommt dann teilweise z.b
raus, obwohl obiges korrekt geschrieben wird, was rauskommen sollte ist
witzigerweise aber nicht immer, (also z.b nicht nur mit offsets > als 8 oder so.
offsets stimmen witzigerweise immer, nur die laenge eben nicht. Was hab ich da schon wieder falsch gemacht -- class God : public ChuckNorris { }; |