c++实现将一个十进制数转换成二进制

#include "stdafx.h"
#include<iostream>
using namespace std;

//十进制转二进制
int _tmain(int argc, _TCHAR* argv[])
{
	int x,i=0,j;
	int a[32];
	cout<<"Please input a decimal base:"<<endl;
	cin>>x;
	
	while((x/2)!=0)//将十进制数不断除2取余数,直到最后除2等于0,循环结束
	{
		a[i]=x%2;//将十进制数除2后的余数存放在数组中
		i++;
		x/=2;//不断改变x的值
		
	}
	
	 a[i]=x;//当x/2=0时,还可能有剩下的数,将剩下的数存放到数组最后一个数中
	cout<<"The binary base is:"<<endl;
	for(j=i;j>=0;j--)//当转成二进制数输出时,需要将数组中的数倒着输出
	cout<<a[j];
	cout<<endl;
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_43090158/article/details/86210837