In C habe ich ein char-Array, das ich zum Speichern von Daten auf Bit-Ebene verwende. Ich speichere diese Arrays in Dateien und lese sie dann auf Maschinen mit unterschiedlichen Architekturen ein. Meine Frage ist, ob die Reihenfolge der Bits konsistent garantiert wird? Wenn ich zum Beispiel "10010011" im ersten Byte speichere, werden die benachbarten 1en immer als Positionen 2^0 und 2^1 gelesen, oder könnten sie als die Bits 2^7 und 2^6 interpretiert werden?
EDIT: Ich möchte diese Frage etwas klarstellen für Personen, die diese Seite später lesen. Byte-Reihenfolge bezieht sich auf die Reihenfolge der Bytes in einem Multi-Byte-Objekt, aber mein Anliegen betrifft die Bits in einem bestimmten Byte. Wenn ein Byte auf die Festplatte gespeichert wird, wird es als Sequenz von (in der Regel) 8 Bits gespeichert. Ich bin kein Hardware-Experte, aber es muss irgendwie darauf hinauslaufen. Also, mein Anliegen ist, ob die Art und Weise, wie das Byte gespeichert wird, so ist, dass jede Maschine den ursprünglichen unsigned char-Wert liest, oder ob das, was für eine Maschine 3 ist, für eine andere 192 ist. Ich befürchte, dass die Bits irgendwie durcheinander geraten könnten. Offensichtlich ist dies kein Anliegen, gemäß der Antwort, die ich ebenfalls ausgewählt habe, sowie eines der Kommentare unten. Danke.