miércoles, 18 de mayo de 2022

Manejo de estructuras de bits en C

Manejo de  estructuras de bits en C

https://www.codesdope.com/blog/article/set-toggle-and-clear-a-bit-in-c/


There can be many times when we need to set, clear or toggle a bit in C Language so in this article which is from answer on our website

You can use structs and then apply them in your code, to set, clear and toggle bits.

struct bits {
    unsigned int a:1;
    unsigned int b:1;
    unsigned int c:1;
};

struct bits mybits;

To set or clear a bit:

mybits.b = 1;
mybits.c = 0;

To toggle a bit

mybits.a = !mybits.a;
mybits.b = ~mybits.b;
mybits.c ^= 1;  /* all work */

Checking a bit:

if (mybits.c)  //if mybits.c is non zero the next line will execute

This only works with fixed-size bit fields.

Another method is 

Setting a bit

Use the bitwise OR operator (|) to set a bit.

number |= 1 << x;

That will set a bit x.

Clearing a bit

Use the bitwise AND operator (&) to clear a bit.

number &= ~(1 << x);

That will clear bit x. You must invert the bit string with the bitwise NOT operator (~), then AND it.

Toggling a bit

The XOR operator (^) can be used to toggle a bit.

number ^= 1 << x;

That will toggle bit x.

No hay comentarios:

Publicar un comentario