求C语言代码,将负十进制数转换成二进制输出

来源:百度知道 编辑:UC知道 时间:2024/05/29 02:03:04
请将VC代码发上来,感谢之至,几乎在网上搜到的全都是思想,但是没有代码,谢谢大家了~~~~
我的意思是谁能将负十进制的数的二进制补码编程写出来,科技鸟的答案仅是将负数变成正数,然后把这个正数的二进制输出,再次谢谢各位达人,如果有成功的答案,将再次加分~~~~感激之至~~

#include <stdio.h>

void printBinary(int num)
{
int i;
int j=31;
for(i=0;i<32;i++)
{
printf("%d",(num>>j)&1);//移位并输出
j--;
}
printf("\n");
}

int main(int argc, char* argv[])
{
int num;

scanf("%d",&num);
printBinary(num);

return 0;
}

#include <stdio.h>
void main()
{
int n,a[100];
printf("input the data:\n");
scanf("%d",&n);
int i=0;
while(n!=0)
{
if(n%2!=0)
a[i]=1;
else a[i]=0;
n/=2;
i++;
}
for(int j=i-1;j>=0;j--)
printf("%d",a[j]);
printf("\n");
}