001
10.01.2005, 22:15 Uhr
typecast
aka loddab (Operator)
|
Also was du fuer Datentypen nimmst, sollte von zwei Dingen ab:
1.) Die Laenge des Puffers 2.) Die Groesse des "Zeichens", dass du untersuchst.
Also:
Der Datentyp von Position haengt von der Puffergroesse ab. Und zwar muss er so gross sein. Das er jede Position [0, puffergroesse] enthalten kann. Wenn dein Suchfenster < 256 "Zeichen" enthaelt, dann bietet sich ein unsigned char an.
Fuer die Laenge der Uebereinstimmung gilt das gleiche. Die Uebereinstimmung kann nicht groesser sein, als dein Suchfenster, kann aber die groesse des Suchfensters erreichen.
Die groesse des naechsten nicht uebereinstimmenden Zeichens, haengt davon ab, wie gross die Bitreihen sind, die du Untersuchst. Wenn du 1 Byte Bloecke auf Uebereinstimmungen untersuchst, dann kannst du auch hier den Datentyp unsigned char verwenden.
Ich kann dir leider nicht sagen, welche Zeichenlaenge sich in der praxis bewaehrt. Das solltest du vielleicht irgendwo nachlesen bzw es einfach ausprobieren.
Viel Spass. -- All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925) |