在键盘上输入一个十进制正整数,将其转换为对应的二进制数,并在屏幕上输出!
方法一:
#include <stdio.h>
int main()
{int num;int temp;int i=0;int arr[20];printf("请输入一个十进制数:\n");scanf("%d", &num);do{temp=num%2;num=num/2;arr[i++]=temp; }while (num!=0);for (int j = i-1; j>=0; j--)printf("%d",arr[j]);
}
方法二:
#include <stdio.h>
int main()
{
int remainder = 0; //余数 ,二进制输出为0,1组成,这里最好用long, int的表示范围较小;
int binary = 0; //二进制数
int i = 1;
int num = 0;
printf("请输入一个正整数:\n");
scanf("%ld", &num);
if (num >= 0)
{
while (num != 0)
{
remainder = num % 2;
binary += i * remainder;
num /= 2;
i *= 10;
}
printf("这个数转为二进制为:%ld", binary);
}
else
printf("您输入的数非法!");
return 0;
}