其他转换请参考博文:
目录
十进制与八进制之间的转换
十进制转换八进制
与二进制类似,十进制转八进制对8整除,得到的余数的倒序即为转换而成的八进制
![](https://i-blog.csdnimg.cn/blog_migrate/76e5b1d1c1d68c510f4e024f44cc9dd4.png)
C++实现十进制转换二进制
主函数main.cpp为:
#include<iostream>
#include<fstream>
#include<string>
#include<vector>
#include<cmath>
using namespace std;
int main()
{
int N;
cout << "Please enter the number: ";
cin >> N;
cout << endl;
//十进制转八进制的声明和调用
void convert_10_to_8(int num);
convert_10_to_8(N);
}
十进制转换为八进制函数为:
#include<iostream>
#include<fstream>
#include<string>
#include<vector>
#include<cmath>
using namespace std;
void convert_10_to_8(int num)
{
vector<int> ivec;
int Num = num;
while (num != 0)
{
ivec.push_back(num % 8);
num = num / 8;
}
vector<int>::size_type sz = ivec.size();
vector<int> ivec2;
for (vector<int>::size_type index = 0; index != sz; ++index)
ivec2.push_back(ivec[sz - 1 - index]);
cout << Num << "十进制转八进制后为:";
for (auto item : ivec2)
cout << item;
cout << endl << endl;
}
运行结果:
八进制转换十进制
将八进制从右往左从零次幂开始乘以八进制数并求和
![](https://i-blog.csdnimg.cn/blog_migrate/6d11c8a4adc0c8d257a0a00153ef2873.png)
C++实现八进制转换十进制
C++主函数为:
#include<iostream>
#include<fstream>
#include<string>
#include<vector>
#include<cmath>
using namespace std;
int main()
{
double convert_8_to_10();
convert_8_to_10();
return 0;
}
八进制转十进制函数为:
#include<iostream>
#include<fstream>
#include<string>
#include<vector>
using namespace std;
double convert_8_to_10()
{
//输入二进制数并存储在vector变量ivec2中
cout << "Please enter the BaJInZhi numbers: " << endl;
int n;
vector<int> ivec2;
while (cin >> n)
{
ivec2.push_back(n);
}
//八进制转十进制计算
double sum = 0, times;
vector<int>::size_type sz = ivec2.size();
for (vector<int>::size_type index = 0; index != sz; ++index)
{
times = pow(8, sz - 1 - index);
sum += ivec2[index] * times;
}
//输出转化后的结果
cout << "8进制——";
for (vector<int>::size_type index = 0; index != sz; ++index)
cout << ivec2[index];
cout << "转10进制为: ";
cout << sum << endl;
return 0;
}
运行结果为:
![](https://i-blog.csdnimg.cn/blog_migrate/586e58c4a6494945000e194f756c2cba.png)