首先,我们需要知道十进制转换为二进制的手算算法。最简单的就是(10)===》(1010);所以,基本的思想是就是利用%运算,得到的余数,存入栈中来,就可以得到而二进制的数。
实现 void sb(int s,stack &t){ int temp=0; while(s!=0) { temp=s%2; //使用取模操作的得到余数 bool m=push(t,temp);//将余数入栈 s=s/2;//改变输入的数。 }} 收获学习了一会儿栈的基本操作,这次使用的是顺序栈,再次可以使用链栈实现。
源码地址