本来是在<<Thinking in C++>>第一卷看到的一个代码。当时对自己触动非常大。今天在论坛看到有人问类似的东西,就按那个想法自己用c语言写了一个,算是做个小小的纪念:
#include
<
stdio.h
>
void printBinary(unsigned char * mem, int size) {
int i;
while(size--) {
printf("%p: ", mem);
for(i = 7; i >= 0; i--) {
if(*mem & (1 << i)) {
printf("1");
} else {
printf("0");
}
}
mem++;
printf(" ");
}
}
int main() {
int a = 2;
double b = 3.9;
puts("TestCase 1:");
printBinary((unsigned char*)(&a), sizeof(a));
puts("TestCase 2:");
printBinary((unsigned char*)(&b), sizeof(b));
return 0;
}
void printBinary(unsigned char * mem, int size) {
int i;
while(size--) {
printf("%p: ", mem);
for(i = 7; i >= 0; i--) {
if(*mem & (1 << i)) {
printf("1");
} else {
printf("0");
}
}
mem++;
printf(" ");
}
}
int main() {
int a = 2;
double b = 3.9;
puts("TestCase 1:");
printBinary((unsigned char*)(&a), sizeof(a));
puts("TestCase 2:");
printBinary((unsigned char*)(&b), sizeof(b));
return 0;
}