关于二进制显示的求法。。

char a=69;char b=-69;int c=a;int d=b;求出a,b,c,d的内存二进制显示。这个该怎么求呢
2026年09月27日 02:41
有1个网友回答
网友(1):

这个可以采用位操作输出,用这个函数求出浮点数的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