#include <iostream>
#include <cstdio>
#include <math.h>
#include <stack>
using namespace std;
int main(){
int n;
while(scanf("%d",&n) != EOF){
int count = 0;
stack<int> sta;
int k = n;
if( k !=0){
while(k){//计算数字长度
count ++;
k = k/10;
}
if(count > 30){
break;
}
while(n) {
sta.push(n%2);
n = n/2;
}
int m = sta.size();
int flag = 0;//标记前导为0
for(int i = 0;i < m; i ++){
if(sta.top() != 0){
flag = 1;
}
if (flag == 1){//前导不为0后开始输出
printf("%d",sta.top());
}
sta.pop();
}
}else{
printf("0");
}
printf("\n");
}
}
进制转换
最新推荐文章于 2022-10-21 21:24:43 发布