c++环境下用数据结构实现数的进制转换——大学实验报告
相关知识点:计算机基础
- 十进制转2/8/16都是用短除法,把最后小于除数的数取出当做第一位,剩下的余数从下到上依次输出,按照栈的工作原理,则是每个余数入栈,最后一个小于本身的数入栈,然后出栈(栈是先入后出)
函数实现十进制装换成二进制
- 不知道为什么的 每个函数都要加上template类型
- 不知道如果要用int bkjOrderStack < T >::print2(int num) 要return什么
- 原理用递归调用,每次都去除2,商入栈,最后余数小于n的时候输出n
- 在Int main 里面,打==stack.print()就可以输出栈的出栈序列,打stack.print2()==就可以调用函数,但是纯print2是不能调用函数的。
- 不知道为啥么在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

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

被折叠的 条评论
为什么被折叠?



