十进制--->二进制(利用C++栈功能)
程序员文章站
2022-07-07 19:10:43
原创 十进制转二进制很简单,其中用到C++的栈功能就能更加方便! 用短除法求余数时,结果要逆序输出,利用栈的先进后出特点可以满足这个要求! 09:40:32 2018-09-06 ......
原创
十进制转二进制很简单,其中用到c++的栈功能就能更加方便!
stack<int> s; //栈的定义,s已经被定义为一个栈 s.push(20); //将20入栈 s.push(100); s.pop(); //将100出栈,但是并不是返回100 if(s.empty()==true){ //判断栈是否为空 } s.top(); //返回栈顶元素,要得到栈元素用此函数 s.size(); //得到栈中元素数目
用短除法求余数时,结果要逆序输出,利用栈的先进后出特点可以满足这个要求!
#include<stdio.h> #include<stack> #include<cstdio> using namespace std; stack<int> s; int main(){ int val; scanf("%d",&val); while(1){ if(val/2==0){ s.push(val%2); break; } s.push(val%2); val/=2; } while(s.empty()!=true){ printf("%d",s.top()); s.pop(); } return 0; }
09:40:32
2018-09-06