Printing memory from variable, is something wrong?
Hey, I'm trying to print out the memory of a variable as binary. However I'm missing the signed bit for some reason. Can some one spot the problem, or is it something I'm missing about the signed bit lol.
Code:
#include <stdio.h>
int main()
{
float test;
int *memdump, i;
printf("Enter value: ");
scanf("%f", &test);
printf("Entered: %.0f\n", test);
memdump = (int*)&test;
printf("S EXP MANTISSA\n");
int binarray[32];
for(i = 0; i < 32; i++){
if(*memdump%2 == 0)
binarray[31-i] = 0;
else
binarray[31-i] = 1;
*memdump -= (*memdump%2);
*memdump /= 2;
}
for(i = 0; i < 32; i++){
printf("%d", binarray[i]);
if(i == 0)
printf(" ");
if(i == 8)
printf(" (1)");
}
printf("\n–––––––––––––––––––––––––––––––––––––\n");
return 0;
}
Just to clarify, the signed bit is always zero.