#include <cstdio>
void bitDump(void* address, unsigned int sizeInBytes){
unsigned char* c = (unsigned char*)address;
int i;
for (i = 0; i < sizeInBytes; i++){
unsigned int hex = (int)c[i];
unsigned int m = 1 << sizeof(hex)*8-1;
int j;
for(j = 0; m; j++){
if ((j+ 1)% 5 == 0){
printf(" ");
}
else {
printf("%d", (hex & m)&&1);
m = m >> 1;
}
}
printf(" ");
}
}
int main(){
long double ld = 12345.123456;
bitDump(&ld, sizeof(ld)); // print the bit pattern (cool if formatted)
return 0;
}
Saturday, 23 March 2013
OOP344 Week 11: Bit Dump Function
The following is a function that prints the address of a pointer in bits with formatting (a space after every 4th binary digit):
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment