数制转换-栈的应用(C++实现)
2014-04-22 22:44
239 查看
本程序实现的是十进制与不同进制之间的的数据转换,利用的数据结构是栈,基本数学方法辗转相除法。
conversion.h
#include<stack>
using namespace std;
//将十进制的数据n转换成m进制的数据
stack<int> conversion(unsigned int n,unsigned int m)
{
stack<int> s;
while(n)
{
s.push(n%m);
n = n/m;
}
return s;
}
源.cpp
#include<iostream>
#include<stack>
#include"conversion.h"
using namespace std;
int main()
{
int n = 1348;
//将n转换成8进制
stack<int> s = conversion(n,8);
while(!s.empty())
{
cout<<s.top();
s.pop();
}
cout<<endl;
//将n转换成2进制
s = conversion(n,2);
while(!s.empty())
{
cout<<s.top();
s.pop();
}
cout<<endl;
}
conversion.h
#include<stack>
using namespace std;
//将十进制的数据n转换成m进制的数据
stack<int> conversion(unsigned int n,unsigned int m)
{
stack<int> s;
while(n)
{
s.push(n%m);
n = n/m;
}
return s;
}
源.cpp
#include<iostream>
#include<stack>
#include"conversion.h"
using namespace std;
int main()
{
int n = 1348;
//将n转换成8进制
stack<int> s = conversion(n,8);
while(!s.empty())
{
cout<<s.top();
s.pop();
}
cout<<endl;
//将n转换成2进制
s = conversion(n,2);
while(!s.empty())
{
cout<<s.top();
s.pop();
}
cout<<endl;
}
相关文章推荐
- 数制转换-栈的应用(C++实现)
- 数制转换-栈的应用(C++实现)
- C++模板应用——让模板定义和实现分离的方法
- 线性表的链式存储结构的实现及其应用(C/C++实现)
- 【C++ STL应用与实现】22: 函数组合之1:如何使用std::bind (since C++11)
- C++实现inline hook的原理及应用实例
- 【C++ STL应用与实现】0: 感恩STL——STL, ACM和年轻的我们
- C/C++ 第八周串和数组 (一)对称矩阵压缩存储的实现与应用 项目3—(2)
- C++面向对象之多态的实现和应用详解
- C++模板应用——让模板定义和实现分离的方法
- 数据结构学习之-二叉树的三种递归遍历C++实现及相关应用
- C++实现栈应用之进制转换
- 字典树的C++实现以及应用
- 菜鸟学习c++—实现系统权限管理功能(类的public和private应用)
- 【C++ STL应用与实现】56: 使用std::unique删除重复元素
- C++ 模板应用 实现一个Queue 队列
- C# 实现C/C++共同体简单应用
- C/C++ 第八周串和数组 (一)稀疏矩阵的三元组表示的实现及应用 项目4—(2)
- 数据结构学习系列三-单向循环链表(c++实现且应用模板)
- 【C++ STL应用与实现】23: 如何使用std::mem_fn (since C++11)