进制转换方法
除2取余,反向输出法。
案例
题目描述
输入一个不大于32767的整数n,将它转换成一个二进制数。
输入
输入只有一行,包括一个整数n(0<=n<=32767)
输出
输出只有一行。
样例输入
100
样例输出
1100100
程序代码
#include <bits/stdc++.h>
using namespace std;
/*
用短除法除2取余,将余数逆序存入字符串s
*/
string s;
int n, x;
char c;
int main(){
cin >> n;
while (n != 0){
// cout << n % 2;
// n /= 2; // 输出为反向数字
x = n % 2; // x:0,1
c = x + '0';
s = c + s; // 结果逆序连接为字符串,不能写s=s+c;
n = n / 2;
}
if (s==""){ // 如果n为0,则s为空串
cout << 0;
}else{
cout << s;
}
}