给定一个二进制正整数,请将其转换为八进制表示形式。 输入 输入为一串二进制表示的正整数(长度不超过1000),表示形式为: (x)2,其中x为二进制数。 输出 输出以下形式的转换结果: (x)2=(y)8 其中y为二进制x对应的八进制数(不含前导0)。c++
时间: 2024-05-24 09:13:23 浏览: 15
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main() {
string s;
cin >> s;
int n = s.size();
// 补全成3的倍数位
if (n % 3 == 1) s = "00" + s;
else if (n % 3 == 2) s = "0" + s;
n = s.size();
// 从高位到低位每3位转换成一位八进制数
string ans;
for (int i = n - 1; i >= 0; i -= 3) {
int x = 0;
if (i >= 2) x += (s[i - 2] - '0') * 4;
if (i >= 1) x += (s[i - 1] - '0') * 2;
x += s[i] - '0';
ans += to_string(x);
}
// 去除前导0
reverse(ans.begin(), ans.end());
while (ans.size() > 1 && ans[0] == '0') ans.erase(ans.begin());
cout << "(" << s << ")2=(" << ans << ")8" << endl;
return 0;
}
相关问题
给定一个二进制表示的非负整数,将其转换为十六进制数。
将二进制数转换为十六进制数,可以先将二进制数每四位分为一组,然后将每组转换为对应的十六进制数。具体步骤如下:
1. 将二进制数每四位分为一组,不足四位的在左边补0,例如:1101 1010 0110 1101。
2. 将每组转换为对应的十六进制数,例如:1101 -> D,1010 -> A,0110 -> 6,1101 -> D。
3. 将每组得到的十六进制数拼接起来,得到最终的十六进制数,例如:DA6D。
因此,给定一个二进制表示的非负整数,将其转换为十六进制数的方法就是将二进制数按照上述步骤进行转换。
python给定一个正的二进制数,将其转换为十进制数输出
可以使用 Python 内置的 `int()` 函数将二进制数转换为十进制数。示例如下:
```python
binary_num = '1010' # 二进制数
decimal_num = int(binary_num, 2) # 将二进制数转换为十进制数
print(decimal_num) # 输出:10
```
其中,`int()` 函数的第一个参数是需要转换的二进制数,第二个参数为进制数,这里传入的是 2 表示二进制。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)