char* bits(unsigned int val)
returns a character string holding the bit pattern of val (i.e cout<<bits(0xF7)<<endl, will print 11110111)
char* bits(unsigned int val) {
unsigned int m = 1 << (sizeof(val)*8 -1);
char* str = new char[sizeof(val)*8];
int i = 0;
while(m){
sprintf(&str[i], "%d", !!(m & val));
m = m >> 1;
i++;
}
return str;
}
No comments:
Post a Comment