I have this function which gets a byte as an integer and i want it to return the bit from the requested place .
I got this code from someone but i don't understand what "input & (1 << bit) " does.
code :
/**
* Check if selected bit is set in <code>input</code>.
* @param input Value to check
* @param bit Bit number to check (0..7 with 7 MSB)
* @return 1 if bit is set, 0 otherwise
*/
private int getBit(int input, int bit)
{
if ((input & (1 << bit)) > 0)
{
return 1;
}
else
{
return 0;
}
}
}
thanx in advance
Narf
01-12-2003, 12:05 PM
Narf
it's ok, i have found it
it wasn't so difficult after all
(input & (1 << bit)) > 0
the bit shifts the "1" in the byte(1) to the wanted location(given by bit)
and then just compares it with that same position in the byte(input)
and if it's greater then zero we know that the byte(input) has a "1" at that location