二进制转换(递归和栈)

递归:(递归下为逆序输出)

#include<iostream>

using namespace std;
void er(int);
int main()
{
    int n;
    cin>>n;
    er(n);
    return 0;
}
void er(int n)
{
      if(n==0) return;
      else
      {
          er(n/2);
          cout<<n%2;
      }
}

栈:

#include<iostream>
#include<stack>
using namespace std;
int main()
{
    stack<int>shu;
    int n;
    cin>>n;
    while(n)
    {
        shu.push(n%2);
        n/=2;
    }
    while(!shu.empty())
    {
        cout<<shu.top();
        shu.pop();
    }
    return 0;
}
发布了8 篇原创文章 · 获赞 7 · 访问量 387

猜你喜欢

转载自blog.csdn.net/amazingee/article/details/104065781