结构体变量位域使用技巧
发布日期:2021-05-10 05:07:34 浏览次数:14 分类:精选文章

本文共 2451 字,大约阅读时间需要 8 分钟。

���������������������������������������������������������������

C���������������Bit������������������������������

������������������������������C������������������Bit���������������������������������������������������������������������������

���������������

// 1������������������8���bit���������BIT_T������������1������
struct BIT_T {
char value1: 1; // ���1���
char value2: 1; // ���2���
char value3: 1; // ���3���
char value4: 1; // ���4���
char value5: 1; // ���5���
char value6: 1; // ���6���
char value7: 1; // ���7���
char value8: 1; // ���8���
}, BIT_T;

������������������������

  • ���������������char������unsigned char���������char������������������0���1������������������������
  • ������������������������1���������������������������������������BIT_T���������������������������������������������
  • ���������������������������������������������bit���������������������������������������������������������������������������������������������bit���
  • ####���������������������

    memset(&bit, 0, sizeof(bit));
    bit.value1 = 1;
    bit.value2 = 0;

    ������������������������������������������������������bit���

    // ���������������������������������������bit������
    static const int mask[] = { (1 << 0) } for setting���1������
    { (1 << 1) }, // ���2���
    ...,
    { (1 << 7) }; // ���8���
    foreach(char *pBitMask������������,
    *pBitMask,
    bit -- {
    *pBitMask |= value != 0? mask[bit���] : 0;
    }

    ������������

    ������������������������������������������������

    #include 
    // ���������1���������������������������������������
    struct BIT_T {
    char value1: 1;
    // ������������
    } BIT_T;
    int main(int argc, char *argv[]) {
    BIT_T bit;
    memset(&bit, 0, sizeof(bit));
    // ���������
    bit.value3 = 1; // ���������������������������������������������
    printf("���������������%d, ������0x%x\n", sizeof(BIT_T), bit);
    return 0;
    }

    ������

    ���������������������������������������������bit������������������������������������������������������������������������������������bug���������������������������������bit������������������������������������������������

    ������������������������������������������������bit���������������������������������������������������������������������������������union���������������������������������������������������������������������������������������������

    上一篇:linu单独编译设备树
    下一篇:Linux设备树 pinctrl-names状态

    发表评论

    最新留言

    哈哈,博客排版真的漂亮呢~
    [***.90.31.176]2025年04月20日 00时00分14秒