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