目录
题目
代码
运行截图
题目
(进制表)编写一个程序要求打印一张表,内容是1~256范围内每个十进制数对应的二进制、八进制和十六进制形式。如果还不熟悉这些计数系统,可先阅读附录 D。提示:可以使用流操纵符dec、oct 和 hex来分别显示十进制、八进制和十六进制格式。
代码
#include <bits/stdc++.h>
#include <algorithm>
using namespace std;
string DecToBinary(int num) // 十进制转二进制输出
{
string r;
while (num != 0)
{
r += (num % 2 == 0 ? "0" : "1");
num /= 2;
} // 此时r是 地位在前高位在后,逆置才是二进制正确值
reverse(r.begin(), r.end()); // 头文件algorithm
return r;
}
int main()
{
cout << "十进制\t二进制\t八进制\t十六进制\n";
for (int i = 1; i <= 256; i++)
{
cout
<< dec << i << "\t" << DecToBinary(i) << "\t"
<< oct << i << "\t" << hex << i << endl;
}
return 0;
}