• 八进制转二进制 C++实现


    #include<iostream>
    using namespace std;
    int main()
    {
        string s8;
        cin >> s8; //输入八进制数
        int s2[1000];
        int j = 0;
       
        for (int i = s8.size() - 1;i >= 0;i--) { //八进制转二进制
            int flag = 0;
            int a = s8[i] - 48;  //减48是因为要将字符串的ASCII码转为整数
            while (a != 0) {//辗转相除
                s2[j] = a % 2;
                j++;
                flag++;
                a = a / 2;
            }
            if (flag < 3) { //每个八进制数可转为3个二进制数,若转换后为2位,则高位补0
                s2[j] = 0;
                j++;
            }
        }
            //转换之后倒序输出,若高位数为0,则不输出
        int b = (s8.size() * 3) - 1;
        if (s2[b] != 0) cout << s2[b];
        for (int k = (s8.size() * 3)-2;k >= 0;k--) {
            cout << s2[k];
        }
        return 0;
    }

    二进制数转换成八进制数:从小数点开始,整数部分向左、小数部分向右,每3位为一组用一位八进制数的数字表示,不足3位的要用“0”补足3位,就得到一个八进制数。

    (具体用法如下图)

       C=
  • 相关阅读:
    高效求解素数
    搭建redis集群
    搭建Spark高可用集群
    redis持久化
    elasticsearch简介
    java反射机制
    hdfs的客户端操作
    hdfs运行机制
    大数据概念
    hive
  • 原文地址:https://www.cnblogs.com/sqm724/p/12728499.html
Copyright © 2020-2023  润新知