The problem is I have 76 bits in 8 consecutive bytes that have been interleaved in the following pattern: (1,20,39,58,2,21,40,59....) Now if there was such an animal in the PIC world as a bit array, code that looked something like this would do it: for (i=0;i<20,i++) { for(j=0;j<3;j++) { deinterleaved_array[k++]=interleaved_array[(j*19)+i]; } } Any suggestions on the best way of testing, setting and clearing bits in an array of bytes? TIA, Carter Brock