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
Dateizugriff - Bits auslesen?
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
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.
Bit-Manipulationen sind einfach möglich, aber Speichern, egal wie oder wo,
geht nur als ganzes Byte.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

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
)
wäre jetzt meine Idee, geht sicher noch schöner
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
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Ich liebe Bytes mit 13 stellengnasen 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

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
