八进制转换二进制

本文介绍如何将100位以内的8进制整数转换为2进制整数。通过示例输入12376532347173217361,展示其对应的2进制表示1010011111110101011010011100111001111011010001111011110001。
部署运行你感兴趣的模型镜像

八进制转换二进制

题目描述
请将一个100位以内的8进制整数转换为2进制整数!
输入
100位以内的8进制整数
输出
该数对应的2进制整数
样例输入复制
12376532347173217361
样例输出复制
1010011111110101011010011100111001111011010001111011110001

#include <bits/stdc++.h>
using namespace std;
string t[8] = {"000","001","010","011","100","101","110","111"};
string s,r="";
int main() {
    cin>>s;
    for(int i=0; i<s.size(); i++) {
        r=r+t[s[i]-'0'];
    }
    while(r[0]=='0') {
        r.erase(0,1);
    }
    if(r=="") cout<<0;
    else cout<<r;
    return 0;
}

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

### 方法一:每位八进制转换为三位二进制数 将八进制转换二进制数的核心方法是利用八进制数与二进制数之间的对应关系,每位八进制数字可以对应三位二进制数字[^2]。具体对应关系如下: | 八进制数 | 二进制数 | | -------- | -------- | | 0 | 000 | | 1 | 001 | | 2 | 010 | | 3 | 011 | | 4 | 100 | | 5 | 101 | | 6 | 110 | | 7 | 111 | 根据上述关系,将每一位八进制数字转换为对应的三位二进制数,然后将这些二进制数拼接起来即可。 例如,八进制数 **25** 转换二进制数的过程如下: - 八进制数 **2** 对应二进制数 **010** - 八进制数 **5** 对应二进制数 **101** - 拼接结果为 **010101** ### 方法二:编程实现转换 可以通过编程实现八进制数到二进制数的转换。以下是一个简单的 C 语言代码示例,用于将八进制转换二进制数[^3]: ```c #include <stdio.h> int octalToBinary(int oct) { char a[9][5] = { "000 ", "001 ", "010 ", "011 ", "100 ", "101 ", "110 ", "111 " }; int temp[20] = { 0 }; int iLen = 0, i = 0, j = 0; while (oct) { temp[i++] = oct % 10; if (temp[i - 1] == 8 || temp[i - 1] == 9) return -1; oct /= 10; } char bin[100] = { 0 }; do { --i; while (j < 4) { bin[iLen++] = a[temp[i]][j++]; } j = 0; } while (i); printf("Binary: %s\n", bin); return 0; } int main() { int oct = 25; octalToBinary(oct); return 0; } ``` ### 方法三:使用 PHP 内置函数 在 PHP 中,可以使用 `base_convert` 函数将八进制转换二进制数。该函数可以实现任意进制之间的转换[^4]。 ```php $oct = 25; $bin = base_convert($oct, 8, 2); echo "Binary: $bin\n"; // 输出 Binary: 10101 ``` ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值