Bitfeld mit Swift verwenden, um Werte mit mehr als 1 Bit zu speichern
ImC Ich kann so etwas machen:
struct byte_nibbles {
unsigned char b1: 4;
unsigned char b2: 4;
unsigned char b3: 4;
unsigned char b4: 4;
unsigned char b5: 4;
unsigned char b6: 4;
unsigned char b7: 4;
unsigned char b8: 4;
};
union {
unsigned long var;
struct byte_nibbles b;
}
u;
int main(void)
{
u.b.b1=0x01; u.b.b2=0x02; u.b.b3=0x03; u.b.b4=0x04;
u.b.b5=0x05; u.b.b6=0x06; u.b.b7=0x07; u.b.b8=0x08;
return 0;
}
So kann ich auf bestimmte Teile der byte_nibbles zugreifen. Offensichtlich ist dies nur ein Beispiel. Es ist möglich, Bitfelder beliebiger Größe zu erstellen, die in die Grundtypen passen.
rotz meiner Bemühungen und vielen Nachforschungen konnte ich in @ nicht herausfinden, wie das gehSchnel. Ich kann bitweise verwenden, um das gleiche Ergebnis zu erzielen, aber dies ist nicht so lesbar und elegant.
Irgendeine Idee