Neat :)
I wrote some very slow code to set/get the Nth bit in an array of bytes.
I was planning on using it for Chess bitboards - https://en.wikipedia.org/wiki/Bitboard, but it could be used for say 8 booleans to the byte.
unsigned char getbit(unsigned char * bits,unsigned long n){
return (bits[n/8] & (unsigned char)pow(2,n%8)) >> n%8;
}void setbit(unsigned char * bits,unsigned long n, unsigned char val){
bits[n/8] = (bits[n/8] & ~(unsigned char)pow(2,n%8)) | ((unsigned char)pow(2,n%8) * val);
}