C++ 十进制'纯'小数转换为任意进制的小数

来源:互联网 发布:网络推手陈默 编辑:程序博客网 时间:2024/06/05 03:13
#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;}

原创粉丝点击