//这里我们使用栈存储每次取余的结果,便可以非常简单地做到逆序输出 //而且可以不用考虑二进制数字的长度 #include <iostream> #include<stack> using namespace std; int main() { int a; stack<int> s; while(cin>>a){ while(a!=0){ s.push(a%2); a/=2; } while(!s.empty()){ cout<<s.top(); s.pop(); } cout<<endl; } } // 64 位输出请用 printf("%lld")