Please note, this is a STATIC archive of website www.tutorialspoint.com from 11 May 2019, cach3.com does not collect or store any user information, there is no "phishing" involved.
Tutorialspoint

Bitfield sample

#include <stdio.h>

typedef struct{
    unsigned char bit0 : 1;
    unsigned char bit1 : 1;
    unsigned char bit2 : 1;
    unsigned char bit3 : 1;
    unsigned char bit4 : 1;
    unsigned char bit5 : 1;
    unsigned char bit6 : 1;
    unsigned char bit7 : 1;
    unsigned char bit8 : 1;
    unsigned char bit9 : 1;
    unsigned char bit10 : 1;
    unsigned char bit11 : 1;
    unsigned char bit12 : 1;
    unsigned char bit13 : 1;
    unsigned char bit14 : 1;
    unsigned char bit15 : 1;
}bitfield;

bitfield bf;

static void PrintBitField( void )
{
    printf("%d\n", bf.bit0);
    printf("%d\n", bf.bit1);
    printf("%d\n", bf.bit2);
    printf("%d\n", bf.bit3);
    printf("%d\n", bf.bit4);
    printf("%d\n", bf.bit5);
    printf("%d\n", bf.bit6);
    printf("%d\n", bf.bit7);
    printf("%d\n", bf.bit8);
    printf("%d\n", bf.bit9);
    printf("%d\n", bf.bit10);
    printf("%d\n", bf.bit11);
    printf("%d\n", bf.bit12);
    printf("%d\n", bf.bit13);
    printf("%d\n", bf.bit14);
    printf("%d\n", bf.bit15);

}

int main()
{
    unsigned short * value = (unsigned short *)&bf;
    *value |= (1 << 5);
    PrintBitField();

    return 0;
}

Advertisements
Loading...

We use cookies to provide and improve our services. By using our site, you consent to our Cookies Policy.