Hallo zusammen,
für eine Anwendung mit digitalem Signalprozessor möchte ich verschieden lange binäre Sequenzen in eine Datei schreiben.
Eine Möglichkeit wäre, dies über die Hexcodierung der Ascii-Tabelle zu machen, allerdings ist die Länge meiner Bitsequenzen nicht immer ein ganzzahliges Vielfaches von 8 (ein ASCII-Zeichen = 1 Byte).
Meine Frage: Wie kann ich also zum Beispiel den Bitzug 11000001111 mit seinen 11 Stellen in eine Binärdatei umwandeln, sodaß mein DSP tatsächlich 11 Highs und Lows im Speicher vorfindet ?
Der Bitzug wird zuvor aus einer Variablen vom Typ double ermittelt, vielleicht kennt aber auch jemand einen direkteren Weg von "double" in die Binärdarstellung...
Aus der GNU C-Libary habe ich folgende Funktion, die auch funktioniert (mit einem Zeichen getestet)...
Vielen Dank,
Grüße Ben
für eine Anwendung mit digitalem Signalprozessor möchte ich verschieden lange binäre Sequenzen in eine Datei schreiben.
Eine Möglichkeit wäre, dies über die Hexcodierung der Ascii-Tabelle zu machen, allerdings ist die Länge meiner Bitsequenzen nicht immer ein ganzzahliges Vielfaches von 8 (ein ASCII-Zeichen = 1 Byte).
Meine Frage: Wie kann ich also zum Beispiel den Bitzug 11000001111 mit seinen 11 Stellen in eine Binärdatei umwandeln, sodaß mein DSP tatsächlich 11 Highs und Lows im Speicher vorfindet ?
Der Bitzug wird zuvor aus einer Variablen vom Typ double ermittelt, vielleicht kennt aber auch jemand einen direkteren Weg von "double" in die Binärdarstellung...
Aus der GNU C-Libary habe ich folgende Funktion, die auch funktioniert (mit einem Zeichen getestet)...
Code:
char BinarySequence[LENGTH] = {0x5C}; // Ascii- Zeichen "\"
fpout = fopen( "BinaryOut.bin", "wb");
if ( !fpout)
{
printf( "Error opening file %s.\n", tmpfile);
exit(-1);
}
fwrite( BinarySequence, LENGTH, 1, fpout);
fclose( fpout);
Vielen Dank,
Grüße Ben
Zuletzt bearbeitet: