题目描述
将十进制正整数转换成二进制数(保证输入数据产生的结果不突破十位)
输入
一行,一个十进制数
输出
一行,一个二进制数
样例输入 Copy
2
样例输出 Copy
10
【算法分析】
十进制转二进制采用短除法,将十进制数除以2,商写在下面,余数写在商的右边,一直往下除,直到除到商为0,将余数逐个保存到一维数组中,最后将数值倒序输出即可。
#include<bits/stdc .h>
using namespace std;
int main()
{
int a[100];
long long n;
int i=0,j;
cin>>n;
if(n==0)
{
cout<<0;
return 0;
}
while(n>0)//短除法将10进制数一直除以2直到商为0
{
a[i]=n%2;//将余数逐个存入数值保存
i ;
n=n/2;
}
i--;
for(j=i;j>=0;j--)//将数组倒序输出
cout<<a[j];
return 0;
}
,