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

原创 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要将元素删除,如果不另开辟内存是不行的,但是除非开辟的动态内存最后被删除,否则会造成内存泄露。
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

链栈的多进制应用

此程序应用上个程序改造编写的。 #include using namespace std; #include #define ERROR 0 #define OK    1 typedef str...

ASCII码、多进制转换工具

  • 2016-01-13 10:29
  • 432KB
  • 下载

(基础四)进制转换,输出整型数值低四位二进制数据

public class LowFourBit { public static void main(String[] args) { //十进制转换成二进制输出,即输入一个十进制数...

多进制转换

  • 2016-02-19 17:27
  • 40KB
  • 下载

多进制神经CPU的设计构想图纸

理论上可以有无数根线,环境需要超导。可低温超导实现cpu运算。 存储器单元为多进制,如FFFFH可表达65535十进制数据。 整体CPU框架图是由N个这样的单元组成,行成一个神经网络。 6553...

多进制LDPC码_16QAM调制

GF(q)域的多进制LDPC的如果跟相应的q阶调制相结合,会简化调制解调方式并且对译码性能

一种基于哈夫曼编码的一维高密度多进制防伪彩色条码的设计

一种基于哈夫曼编码的一维高密度多进制防伪彩色条码的设计 李自乐 工信 3140104024 摘要:提高一维编码的编码容量和效率且实现加密。 关键字:彩色条码 编码容量 多进制条码 哈夫曼树 加密...
  • InsZVA
  • InsZVA
  • 2015-03-30 17:31
  • 1018

多进制LDPC码的译码算法比较

对多进制LDPC码学习了一年了

多进制输出

  • 2013-01-31 22:40
  • 12KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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