c++环境下用数据结构实现数的进制转

这篇博客介绍了在C++环境下使用数据结构实现数的进制转换,包括从十进制到二进制、八进制和十六进制的转换。博主分享了在实现过程中遇到的问题,如函数模板的使用、递归调用和栈操作,以及如何解决这些问题。还提供了相关资源链接供读者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

c++环境下用数据结构实现数的进制转换——大学实验报告

相关知识点:计算机基础

  1. 十进制转2/8/16都是用短除法,把最后小于除数的数取出当做第一位,剩下的余数从下到上依次输出,按照栈的工作原理,则是每个余数入栈,最后一个小于本身的数入栈,然后出栈(栈是先入后出)

函数实现十进制装换成二进制

  1. 不知道为什么的 每个函数都要加上template类型
  2. 不知道如果要用int bkjOrderStack < T >::print2(int num) 要return什么
  3. 原理用递归调用,每次都去除2,商入栈,最后余数小于n的时候输出n
  4. 在Int main 里面,打==stack.print()就可以输出栈的出栈序列,打stack.print2()==就可以调用函数,但是纯print2是不能调用函数的。
  5. 不知道为啥么在stack(这个也不知道叫啥)里面cout一下就可以让数入栈
template < typename T >
void bkjOrderStack < T >::print2(int num)
{
   
   
	int n = num;
	if(n < 2)
	{
   
   
		cout << n;
	}
	else
	{
   
   
		print2(n / 2);

		cout << n % 2;
	}
	
}

函数实现十进制装换成八进制

template < typenam
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值