Bitfelder in C #

Ich habe eine Struktur, die ich auffüllen und auf die Festplatte schreiben muss (tatsächlich mehrere).

Ein Beispiel ist:

byte-6    
bit0 - original_or_copy  
bit1 - copyright  
bit2 - data_alignment_indicator  
bit3 - PES_priority  
bit4-bit5 - PES_scrambling control.  
bit6-bit7 - reserved  

In C könnte ich etwa Folgendes tun:

struct PESHeader  {
    unsigned reserved:2;
    unsigned scrambling_control:2;
    unsigned priority:1;
    unsigned data_alignment_indicator:1;
    unsigned copyright:1;
    unsigned original_or_copy:1;
};

Kann ich in C # auf diese Weise auf die Bits zugreifen, indem ich den Punktoperator struct dereferencing verwende?

Für einige Strukturen kann ich nur Bitverschiebungen in einer Accessor-Funktion ausführen.

Ich muss mit vielen Strukturen auf diese Weise umgehen, also suche ich nach etwas, das einfacher zu lesen und schneller zu schreiben ist.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage