C++10進数'純'小数を任意進数の小数に変換


#include <iostream>
using namespace std;

int main()
{
	float n;
	int p,c,m=0,precision=0,s[100];
	cout<<"        :"<<endl;
	cin>>n;
	cout<<"        :"<<endl;
	cin>>p;
	cout<<"    precision:"<<endl;
	cin>>precision;

	cout<<"("<<n<<")10="<<"(0.";

	while (n!=0&&m<precision)//    ,      s[m]
	{
		n=n*p;
		c=n;    //c n     
		n=n-c;  //  n n     
		m++;s[m]=c;   //          s[m] s[1]...s[m]
	}

	for(int k=1;k<=m;k++)//        
	{
		if(s[k]>=10) //                
			cout<<(char)(s[k]+55);
		else         //        
			cout<<s[k];
	}

	cout<<")"<<p<<endl;
	return 0;
}