I would like to read each bit of a byte individually.
I could test each bit using bitwise & operators and a changing mask: 0000 0001, 0000 0010, etc.
But, does anyone know an easier way or a function to read a bit from a byte?
Thanks very much.
That’s pretty much how you’d do that.
It’s usually done in connection with a shift operation
// if you only want false / !false (someInt & (1 << bitNumber)) // if you want explicit 0 or 1 ((someInt & (1 << bitNumber))? 1 : 0) // or // no not this ((someInt >> bitNumber) & 0xFFFFFFFE), but ((someInt >> bitNumber) & 1)
You can wrap this in a macro and got the simples solution there
Thanks ScruffR - fast! And neat!
Thanks @ScruffR for the help!
With the 3rd one, shouldn’t it be:
(someInt >> bitNumber) & 0x00000001)
Yup, my bad