源码如下:
#include<stdio.h>
//一个8位的空间,如果用来表示无符号数,其范围是[0,255]
// 如果用来表示有符号数,其范围是[-128,127]
//打印一个数据的二进制(补码)
void disBin(char ch)
{
int i = 8;
while(i--)
{
if((1<<i)&ch)
printf("1");
else
printf("0");
if(i%4 == 0)
{
printf(" ");
}
}
putchar(10);
}
int main()
{
for(char i=-128;i<127;i++)
// 此处i不能取127;否则会溢出
{
printf("%d 的补码为 ",i);
disBin(i);
}
// 127的补码要单独表示
printf("127 的补码为 ");
disBin(127);
return 0;
}