<分区>
如果我输入正数,效果很好,但如果我输入负数,则效果不佳。 但是,如果我复制并粘贴唯一的 1 补码部分的代码,它就会起作用。 如果我输入 -12,它显示绝对值:10001100 和 1 的补码:11110011。 idk 为什么它不起作用帮助:(
//1's complement_1
{
printf("\n 1's complement:");
if (decimal_1 < 0)
{ decimal_1 = - decimal_1; bi_1[0] = 1; }
for(i_1=7; i_1>0 ;i_1--)
{
bi_1[i_1]=decimal_1%2;
decimal_1=decimal_1/2;
}
Fcomplement_1[0]=1;
for(i_1=1 ; i_1<8; i_1++ )
{
if (bi_1[i_1]==0)
Fcomplement_1[i_1]=1;
else
Fcomplement_1[i_1]=0;
}
for(i_1=0; i_1<8; i_1++)
printf("%d", Fcomplement_1[i_1]);
}
else
for (i_1=0 ; i_1<8 ; i_1++)
printf("%d",bi_1[i_1]);
}
return 0;
}