1. 程式人生 > >c++實現將一個十進位制數轉換成二進位制

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;
}