Как использовать битовое поле со Swift для хранения значений с более чем 1 битом

ВC Я могу сделать что-то вроде этого:

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;
}

Так что я могу получить доступ к определенным частям byte_nibbles. Очевидно, это только один пример. Можно создавать битовые поля любого размера, который подходит для основных типов.

Несмотря на мои усилия и много исследований, я не мог понять, как это сделать встриж, Я могу использовать побитовый, чтобы получить тот же результат, но это не так легко читается и элегантно.

Любая идея?

Ответы на вопрос(1)

Ваш ответ на вопрос