进制转换编程实现
『实例一』:编写一个十进制长整数转换为二进制的程序
『源程序如下』:
#include<iostream>
using namespace std;
Int bin[50];
int main()
{
int i,k,x;
cin>>x;
k=0;
while(x>0)
{
bin[k]=x%2;
x=x/2;
k++;
}
for(int i=k-1;i>=0;i--)
cout<<bin[i];
return 0;
}
『实例二』编写一个二进制转换为十进制的程序
『程序如下』:
#include<iostream>
using namespace std;
int main()
{
int n,sum=0;
string s;
cin>>s;
n=s.size();
int j=1;
for(int i=n-1;i>=0;i--)
{
sum=sum+j*(int(s[i])-int('0'));
j=j*2;
}
cout<<sum;
return 0;
}
『实例三』十进制长整数转换为十六进制的程序,输入:一个长整数,输出:十六进制数。
#include<iostream>
#include<string>
using namespace std;
int main()
{
int b[100],a,k=0;
string st="0123456789ABCDEF";
cin>>a;
while(a>0)
{
b[k]=a%16;
a=a/16;
k++;
}
for(int i=k-1;i>=0;i--)
cout<<st[b[i]];
return 0;
}