利用栈实现整型多进制转换

原创 2012年03月22日 11:08:47
#include<iostream>
#include<stack>
#include<string>
using namespace std;
void Multioutput(int num,int b)
{
	string numlist="0123456789ABCDEF";
	stack<char>st;
	while(num)
	{
		st.push(numlist[num%b]);
		num=num/b;
	}
	while(!st.empty())
	{
		cout<<st.top();
		st.pop();
	}
	cout<<endl;
}
int main()
{
	int num=123;
	int b;
	while(cin>>b&&b)
	{
		Multioutput(num,b);
	}
	return 0;
}

关于栈中为什么pop元素没有返回值,而是使用top来返回元素的值,这里要做一下说明,如果pop返回栈顶部的元素,如果按值返回则会调用复制构造函数,从而造成很大的开销。而按引用返回,则必须将该元素存储到动态内存中,因为pop要将元素删除,如果不另开辟内存是不行的,但是除非开辟的动态内存最后被删除,否则会造成内存泄露。

利用栈实现进制的转换!

问题:将十进制数转换为任意进制数(2,8,16...).   算法:假如N为输入的数,n为要转换为的进制,若要将十进制231转换为8进制数,过程如下; N                    ...
  • kkkkkxiaofei
  • kkkkkxiaofei
  • 2012年12月13日 14:50
  • 16440

C语言:利用栈实现进制间转换

源代码: /******************************************************* **利用栈实现进制之间的转换 ***********************...
  • ltbyuruochengfeng
  • ltbyuruochengfeng
  • 2016年10月04日 14:57
  • 2829

数据结构5:利用栈实现二进制到十进制的转换

这是一个利用栈实现的实例,自己写了一下,本想
  • yjsfl_xiang
  • yjsfl_xiang
  • 2014年04月07日 22:44
  • 946

采用顺序栈完成进制转换

采用顺序栈完成进制转换 (1)定义顺序栈的存储结构; (2)实现顺序栈的初始化、判断是否为空、进栈、出栈等基本操作; (3)调用顺序栈的基本操作实现进制转换。 代码: #includ...
  • migu77777
  • migu77777
  • 2016年10月17日 20:08
  • 1218

使用栈实现进制转换(java大数进制转换)

Problem A: 使用栈实现进制转换 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 35  Solved: 19 [Submit][Stat...
  • baidu_23955875
  • baidu_23955875
  • 2015年07月20日 16:16
  • 977

用链栈实现任意进制的转化

任意进制的转化基本思路是以十进制为中转,先将其他进制转为十进制,再由十进制转目的进制 /* 栈的结构类型 */ typedef char ElemType; typedef struct Stack...
  • hmh86
  • hmh86
  • 2016年11月03日 09:56
  • 415

用栈实现将十进制数转换为任意进制数(2,8,16...).

解题思路:假如N为输入的数,n为要转换为的进制,若要将十进制231转换为8进制数,过程如下; N                        N/n                      N%n...
  • acm_JL
  • acm_JL
  • 2016年03月06日 15:19
  • 5273

数据结构实验之栈一:进制转换(java实现)

数据结构实验之栈一:进制转换 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem De...
  • Bay_min
  • Bay_min
  • 2016年10月15日 19:11
  • 834

使用栈实现进制转换

Problem D: 使用栈实现进制转换 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 12  Solved: 9 [Submit][Statu...
  • baidu_23955875
  • baidu_23955875
  • 2015年06月17日 12:12
  • 997

进制转换,用栈实现

今天看数据结构中的栈解决进制转换的问题,实现了一下。
  • guang_jing
  • guang_jing
  • 2014年05月06日 11:25
  • 1948
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:利用栈实现整型多进制转换
举报原因:
原因补充:

(最多只允许输入30个字)