进制转换(栈的应用)
题目:编写一个程序,要求用户从终端输入一串二进制数,输出它的十进制、八进制、十六进制的表示形式。要求:利用栈的原理进行转换。
视频讲解:http://blog.fishc.com/2048.html
源代码参考:http://bbs.fishc.com/thread-26170-1-1
沙发了!!学习中。。。 {:7_167:}看看~~~~:(:(:( 激动人心,无法言表! #include<iostream>
#include<stack>
#include<string>
using namespace std;
char s1;
int trans_ten(int x,int j)
{
int k=0;
while(x)
{
s1=x%j+48;
x/=j;
}
return k;
}
int trans_two_ten(string s)
{
int ans=0,k=1;
for(int i=s.length()-1;i>=0;i--)
{
ans+=(s-48)*k;
k*=2;
}
return ans;
}
int trans_two_sixteen(string s)
{
int k=1,rev=1,bit=0,cnt=0;
for(int i=s.length()-1;i>=0;i--)
{
if(k%4)
{
bit+=(s-48)*rev;
rev*=2;
k++;
}
else
{
bit+=(s-48)*rev;
rev=1;
if(bit<10)
s1=bit+48;
else
s1=bit+55;
bit=0;
k++;
}
}
if(k%4!=1)
{
s1=bit+48;
}
s1='\0';
return cnt;
}
int trans_two_eight(string s)
{
int k=1,rev=1,bit=0,cnt=0;
for(int i=s.length()-1;i>=0;i--)
{
if(k%3)
{
bit+=rev*(s-48);
rev*=2;
k++;
}
else
{
bit+=rev*(s-48);
rev=1;
k++;
s1=bit+48;
bit=0;
}
}
if(k%3!=1)
{
s1=bit+48;
}
s1=0;
return cnt;
}
int main()
{
cout<<"进制转化系统——made by 四季如春"<<endl<<endl;
cout<<"十进制转化为二进制输入1"<<endl;
cout<<"十进制转化为八进制输入2"<<endl;
cout<<"二进制转化为十进制输入3"<<endl;
cout<<"二进制转化为十六进制输入4"<<endl;
cout<<"二进制转化为八进制输入5"<<endl;
cout<<"输入0退出"<<endl;
int n;
while(cin>>n&&n!=0)
{
memset(s1,'\0',sizeof(s1));
if(n==1)
{
int x;
cout<<"请输入一个十进制数"<<endl;
cin>>x;
cout<<"对应的二进制数为:";
int len=trans_ten(x,2);
for(int i=len-1;i>=0;i--)
cout<<s1;
cout<<endl;
}
if(n==2)
{
int x;
cout<<"请输入一个十进制数"<<endl;
cin>>x;
cout<<"对应的八进制数为:";
int len=trans_ten(x,8);
for(int i=len-1;i>=0;i--)
cout<<s1;
cout<<endl;
}
if(n==3)
{
string s;
cout<<"请输入一个二进制数"<<endl;
cin>>s;
cout<<"对应的十进制数为:"<<trans_two_ten(s)<<endl;
}
if(n==4)
{
string s;
cout<<"请输入一个二进制数"<<endl;
cin>>s;
cout<<"对应的十六进制的数为:";
int cnt=trans_two_sixteen(s);
for(int i=cnt-1;i>=0;i--)
cout<<s1;
cout<<endl;
}
if(n==5)
{
string s;
cout<<"请输入一个二进制数"<<endl;
cin>>s;
cout<<"对应的八进制数为:";
int cnt=trans_two_eight(s);
for(int i=cnt-1;i>=0;i--)
{
cout<<s1;
}
cout<<endl;
}
}
return 0;
} 楼主真是好人…… ,无法言表!:L 我是VIP,我骄傲!我不得不说了…… 强烈支持楼主ing…… 激动人心,无法言表! {:1_1:} 喜大普奔 强烈支持楼主ing…… {:1_1:} 强烈支持楼主ing…… 四季如春へ★ 发表于 2013-7-15 20:49
#include
#include
#include
好人一生平安 赞
1 ss
页:
[1]