十进制-二进制转换测试

//************************************
//程序名:十进制-二进制转换测试 
//功  能:输入十进制数,输出对应的二进制码
//        其中二进制码用十进制的格式表示 
//编制人:刘聪 
//时  间:2017年5月26日 
//************************************

#include <iostream>
#include <cmath>

using namespace std;

int main()
{
    int n, Binary;
    int DecimalToBinary(int n);
	cout<<"输入一个十进制整数:";
	cin>>n;
	Binary = DecimalToBinary(n);
	cout<<"对应的二进制码为:"<<Binary<<endl; 
	return 0;
}

int DecimalToBinary(int n)
{
	int quotient, remainder, counter, Binary, i;
	counter = 0;
	quotient = 0;
	remainder = 0;
	Binary = 0;
	i = 0;
	while((quotient = n / 2 ) > 0)
	{
		remainder = n % 2;
		n = quotient;
		counter++;
		if(remainder == 1)
		{
			for(i = counter; i > 1; i--)
		        remainder = remainder * 10;
		    Binary = remainder + Binary;
		    //cout<<"Binary1="<<Binary<<endl;
		}
        //cout<<"Binary2="<<Binary<<endl;
	}
	remainder = 1;
	counter++;
	for(i = counter; i > 1; i--)
	    remainder = remainder * 10;
	Binary = remainder + Binary;
	return Binary;
}


按此方法,在不溢出的前提下,最大能转换数值为511.

posted on 2017-10-05 18:17  sunshineman1986  阅读(144)  评论(0编辑  收藏  举报

导航