Byte-to-Bits and Bits-to-Byte Operations What commands are available for extracting individual bits from a byte? In pseudo-pseudocode: ```char data; char bit[8]; input(data); for (int i = 0; i < 8; i++) { bit[i] = extract(data, i); } ``` I can't find a function or operation to do that... Thanks, Nick '&' (logical and), '>>' (shift right), '<<' (shift left), etc. In actual code: ```char data; bool bit[8]; // fill data for(int i = 0; i < 8; i++) { bit[i] = ((data >> i) & 0x01); }``` Gambit Remy Lebeau (Team B) And the data with the bit you want e.g. ` bit[i] = data & (1 << i);` HTH Russell Hind You use the shift (<< and >>) operators, and bit masking (&). Something like: ```char extract(char data, int i) { return (data >> i) & 1 ; } ``` Untested, unfinished, but that's the idea. Read up about those operators. Alan Bellingham Team Thai Kingdom Use the bitwise and operator '&' and a bitmask. ```BYTE BitMask[]={ 1, 2, 4, 8, 16, 32, 64, 128}; bool BitIsSetF( BYTE ValueToTest, BYTE ZeroBasedBitNumber ) { return ValueToTest&ZeroBasedBitNumber; }``` Note that C++ doesn't have a built in power operator (odd really considering that Pascal and BASIC both do). Instead you will have to use the pow() math function which is probably slow or bit shifting eg: ```bool BitIsSetF( DWORD ValueToTest, int ZeroBasedBitNumber) { return ValueToTest&( 1<