![]() |
Bitweise schreiben mit Streams?
hi
ich möchte wirklich bitweise in eine Datei schreiben. geht das irgendwie? oder muss ich immer 8 schleifendurchläufe warten, und in den anderen 7 das in nen byte-buffer schreiben? es wäre für mich erheblich einfacher (und imho auch performanter) das bitweise zu machen...wie? |
Re: Bitweise schreiben mit Streams?
Das Erstere, eine andere Lösung wärem ir nicht bekannt. Ich denke nicht das eine grössere bitweise Operation bei grösseren Datenmengen ohne asm in irgend einer Weise performant ist ^^
|
Re: Bitweise schreiben mit Streams?
Die kleinste Einhet, die man in Streams schreiben kann ist ein Byte. D.h. du musst immer erst warten, bis min. 8 Bit zum Schreiben bereitstehen.
Das gleiche gilt auch für das Auslesen. MfG Binärbaum |
Re: Bitweise schreiben mit Streams?
kann ich denn ohne streams biteise schreiben?
oder kann ich bei einem byte ein bit direkt ohne umwege über 2er-potenzen "ansteuern"? |
Re: Bitweise schreiben mit Streams?
Was hast du denn vor, dass du bitweise schreiben musst?
|
Re: Bitweise schreiben mit Streams?
ich hatte ne idee wie man komprimieren könnte (kann aber auch sein dasses das schon gibt...) und dazu will ich halt schön ein bit nachm anderen reinklatschen.
ich will eine zahl (die ich aus der datei erstelle) mit 2 operationen aufschlüsseln, bis ich sie bei 0 hab, und von diesen operationen muss ich mir nur immer die reihenfolge merken...also ein bit... |
Re: Bitweise schreiben mit Streams?
AFAIK gibt's dafür den TBitStream von Borland. Guck mal in der DOH; müsstest Du Infos zu finden.
|
Re: Bitweise schreiben mit Streams?
also ich hab Delphi 7, und hab kein TBitStream inner OH :(
wer morgen noch mal ausführlich über google etc. suchen... aber danke für den tipp |
Re: Bitweise schreiben mit Streams?
Zitat:
Zitat:
![]() ![]()
Delphi-Quellcode:
Die Funktion gibt True zurück, wenn das entsprechende Bit von aByte gesetzt ist, ansonsten erhält man False. (Es sei 0<=nBit<=7)
function GetBitofByte(aByte: Byte; nBit: Byte): Boolean;
begin Result:= ((aByte and (1 shl nBit))<>0); end; MfG Binärbaum |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz