Seite 1 von 1

Dateizugriff - Bits auslesen?

Verfasst: 27.08.2008 21:17
von red-lightning
Hallo erstmal,

bevor ich meine Frage stelle, wollte ich noch kurz anmerken, dass ich in Sachen Datein / Dateisystem etc. noch nicht ganz durchblicke und diese Frage evtl. keinen Sinn macht; ich glaube aber, ihr könnt mir trotzdem helfen.

Wie kann ich eigentlich eine Datei "Bit nach Bit" auslesen?
Also bis jetzt öffne ich eine Datei immer und lese dann die einzelnen Bytes mit ReadByte() aus.
Geht das auch irgendwie in der Richtung ReadBit()? Oder kann man das irgendwie umrechnen?

Danke für eure Hilfe,
red-lightning

Verfasst: 27.08.2008 21:28
von ts-soft
Du kannst als kleinste Einheit lediglich ein Byte Speicher adressieren.
Bit-Manipulationen sind einfach möglich, aber Speichern, egal wie oder wo,
geht nur als ganzes Byte.

Verfasst: 27.08.2008 22:15
von gnasen
Du nimmst dir immer ein Byte und führst passende Manipulationen durch.
Wenn du zB wissen willst, welches Bit an Stelle 13 steht, dann liest du 13/8 = 1 R 5 das 2 Byte ein und schaust dir dort das sechste Bit an, zB so:

(vorsicht, dreckig ;) )

Code: Alles auswählen

procedure readbit(*ptr.l,pos.l)

curbyte.b = peekb(*ptr)
curbyte << (7-pos)
curbyte >> 7

procedurereturn curbyte

endprocedure
wäre jetzt meine Idee, geht sicher noch schöner

Verfasst: 27.08.2008 22:26
von ts-soft
gnasen hat geschrieben:Du nimmst dir immer ein Byte und führst passende Manipulationen durch.
Wenn du zB wissen willst, welches Bit an Stelle 13 steht
Ich liebe Bytes mit 13 stellen :lol:

Verfasst: 27.08.2008 22:29
von gnasen
An Bit-Stelle 13 der Datei meine ich natürlich :D