qfedu-basic-level/day7/homework/h16.cpp

33 lines
792 B
C++

// 输入一个数,输出它的二进制表示。
#include <iostream>
using namespace std;
int main()
{
char arr[32] = {};
char res[32] = {};
int n, temp_n;
int cnt = 0;
cout << "请输入一个整数: ";
cin >> n;
temp_n = n;
int x;
cout << "请输入要转换的进制 (十以内): ";
cin >> x;
while (n)
{
arr[cnt++] = n % x + '0'; // 将数字转换为字符; 加 48 也可以, 因为 '0' 的 ASCII 码为 48
n /= x; // 除以 2
}
// cout << "原本的进制表示为:" << arr << endl;
// 数组逆转
for (int i = 0; i < cnt; i++)
res[i] = arr[cnt - i - 1];
cout << "十进制数字 " << temp_n << "" << x << " 进制表示为:" << res << endl;
return 0;
}