#include #include typedef unsigned int uint; bool getBit(char* c, int n) { return (c[n>>3] & (1 << (n & 7)))!=0; } void setBit(char* c, int n) { c[n>>3] = c[n>>3] | (1 << (n & 7 )); } /*void clearBit(char* c, int n) { c[n>>3] = c[n>>3] & ~(1 << (n & 7 )); }*/ //ok has to be 7 or 0 void clearBit(char* c, int n, uint ok) { c[n>>3] = c[n>>3] & ~((1 << (n & 7)) & (~ok)); } int main() { int LENGTH = 16; char* bitstring = (char*) malloc(10*sizeof(char)); bitstring[0] = 0xFF; bitstring[1] = 'b'; bitstring[2] = 'c'; //setBit(bitstring,10); clearBit(bitstring,4,0); std::cout<<"\nSize of uint: "<0) std::cout<<" "; std::cout<