八进制转二进制 C++实现
标签:一个 二进制 输出 span http main 技术 pac nbsp
#includeusing 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=
八进制转二进制 C++实现
标签:一个 二进制 输出 span http main 技术 pac nbsp
原文地址:https://www.cnblogs.com/sqm724/p/12728499.html
评论