Das Ende einer bit-Feld ist das am meisten bedeutende bit?

Ich Schreibe ein C++ - Anwendung für Windows XP/Vista/7 mit Visual Studio 2008. Einige meiner Strukturen verwenden, ein bit-Feld, wie im Beispiel gezeigt.

typedef struct myStruct_tag
{
    BYTE myVar1;
    WORD myVar2;
    WORD myVar3;
    union
    {
        struct
        {
            BYTE           :1;
            BYTE field1    :1;
            BYTE field2    :1;
            BYTE reserved  :5;
        } myBitField;
        BYTE myVar4;
    };
    BYTE myVar5;
    BYTE myVar6;
} myStruct_t;

Dem Ende des Feldes ist das höchstwertige bit?

  • Hinweis: Nach dem standard, der MSB ist nicht definiert. Auf einer bestimmten Plattform, vermute ich, dass reserved enthält das MSB, aber ich bin nicht positiv.
  • Das sieht aus wie eine Antwort für mich.
  • Äh... Das ist eine eher seltsame Frage. Sie haben nur 3-bit-Felder in Ihrer Erklärung. 2 von Ihnen sind 1-bit-Felder, d.h. es gibt keine Ausgabe von "das Ende" mit Ihnen, da gibt es nur 1 bit gibt. Die nur multi-bit bit-Feld namens reserved, was darauf schließen lässt, dass es überhaupt nicht genutzt. Also, im Grunde, die nur bit-Feld Frage anwenden können, ist reserved. Fragen Sie über reserved speziell? Wenn nicht, klären Sie Ihre Frage.
  • Wenn ich war positiv w.r.t. die variable bekommt die MSB-es hätte eine Antwort, aber ich bin nicht positiv...
  • Dies ist wichtig, da die Struktur verwendet wird, um zu definieren, ein Paket für die serielle Kommunikation. Die bit-Felder müssen ausgerichtet werden auf beiden Seiten des Systems, von der ich leider die Kontrolle über nur eine Seite.
  • Haben Sie irgendwelche Vorschläge, wo ich suchen kann Bestätigung? Ein link wäre hilfreich.
  • Äh.. versuchen auf 1 Seite und sehen, ob es funktioniert; wenn nicht, versuchen Sie, auf der anderen Seite lol.

InformationsquelleAutor Jim Fell | 2010-12-28
Schreibe einen Kommentar