c++ 数制转换 一个十进制的数变十几进制的和几进制的数

来源:互联网 发布:淘宝代评职称是真的吗 编辑:程序博客网 时间:2024/05/22 16:42
#include <iostream>#include<cmath>#include <cstring>using namespace std;char a[65];int func(int num,int b)//num为输入,b为转换的进制数{int left;//余数int n=0;int result=0;while (num!=0){left=num%b;num/=b;result+=left*pow(10,n);n++;}return result;}void Reverse(char s[]){for(int i =0,j=strlen(a)-1;i<j; ++i,--j){char c=a[i];a[i]=a[j];a[j]=c;}}char dayushubianzimu(int u){char ich;if (u>=0&&u<10)ich=u+48;else ich=u+65-10;return ich;}int changeto (int t,int n){    int left;    int i=0;        int temp;   while (t!=0)   {   temp=t%n;   a[i++]=dayushubianzimu(temp);   t/=n;   }   a[i]='\0';   Reverse(a);    }int main(){ int t;scanf ("%x",&t);//cin>>n;cout <<func(t,8)<<"(Oct)"<<", ";// 变十以下的进制用 func,十以上的用 changetocout <<t<<"(Dec)"<<", ";changeto(t,16);cout<<a<<"(Hex)";return 0; } 

阅读全文
0 0
原创粉丝点击