这个可以采用位操作输出,用这个函数求出浮点数的2进制也可以
void bin(const void *p,int Bytes)
{
char Tmp[Bytes];
char *pChar = (char *)p;
for(int i = 0;i < Bytes;i++)
{
Tmp[i] = *pChar;
pChar++;
}
for(int i = Bytes - 1;i >= 0;i--)
{
for(int j = 0;j < 8;j++)
{
if(Tmp[i] & 0x80)
printf("1");
else
printf("0");
Tmp[i] <<= 1;
}
}
printf("\n");
}
main()
{
char a = 69;
char b = -69;
int c=a;
int d=b;
bin(&a,sizeof(a));
bin(&b,sizeof(b));
bin(&c,sizeof(c));
bin(&d,sizeof(d));
}
a为:01000101
b为:10111011
c为:000000000000000000000001000101
d为:111111111111111111111110111011