Einzelnen Beitrag anzeigen
Alt 22.08.2002, 11:16   #2
kikakater
Inventar
 
Registriert seit: 24.01.2001
Beiträge: 5.631


Standard

16 bits verwenden, ansonsten das oberste Bit isolieren und 2 (bits) nach rechts schieben, den int16 Wert mit vierzehn gesetzten Bits (Maske) ver-und-en und das isolierte Bit 15 (=16.Bit=Vorzeichenbit), das bereits Bit 13 ist mit dem int16/int14 Wert ver-oder-n.

Um bitgenau in einen Filestream schreiben zu können, brauchst Du eine eigene Filestreamklasse, die die letzte Bitposition und das letzte Byte vorrätig hält als static Variable. Dann eben den int16 Wert übergeben, kopieren, die Kopie an die Bitposition des letzten gepufferten Bytes des Filestreams hängen (bitmäßiges ODER) sowie die zweite Hälfte (=1-2 Bytes, jedenfalls aus der Originalübergabevariable = der übergebene Parameter int16 bzw. int14) ebenso shiften und in den Filestreampuffer schreiben. Der Flush passiert dann sowieso, wenn ein Pufferüberlauf eintritt oder die Datei geschlossen wird.

Das ist das Einzige, was ich sehe, wie es funktionieren müßte.
kikakater ist offline   Mit Zitat antworten