21xrx.com
2025-04-15 14:40:28 Tuesday
文章检索 我的文章 写文章
C++编写进制转换代码
2023-07-10 03:28:58 深夜i     16     0
C++ 进制转换 代码

在计算机科学中,进制转换是一个非常基础和重要的知识点。因为计算机在运算过程中用的都是二进制,所以我们常常需要将十进制或其他进制的数转换成二进制,或者将二进制的数转换成十进制或其他进制。在C++编程中,我们可以使用一些基本的代码来实现进制转换功能。

1. 十进制转二进制

十进制转二进制是最常见的进制转换,它可以使用循环和除法取余的方法实现。具体代码如下:

#include <iostream>
#include <stack>
using namespace std;
int main() {
 int num;
 stack<int> binary; // 定义一个栈,用于存储二进制数
 cout << "请输入一个十进制数:";
 cin >> num;
 while (num > 0) {
  int bit = num % 2; // 取余数
  binary.push(bit); // 将余数入栈
  num /= 2; // 把商作为下次的被除数
 }
 cout << "转换后的二进制数为:";
 while (!binary.empty()) {
  cout << binary.top(); // 输出栈顶元素,即二进制数
  binary.pop(); // 弹出栈顶元素
 }
 cout << endl;
 return 0;
}

2. 二进制转十进制

二进制转十进制也是比较常用的,具体实现方法是把二进制数的每一位按权相加。具体代码如下:

#include <iostream>
#include <cmath>
using namespace std;
int main() {
 int num, bit, decimal = 0; // decimal 为十进制结果
 cout << "请输入一个二进制数:";
 cin >> num;
 int power = 0; // 用于存储二进制位数
 while (num > 0) {
  bit = num % 10; // 取出二进制数的最低位
  decimal += bit * pow(2, power); // 把该位的值乘上对应的权值
  num /= 10; // 把该位去掉
  power++; // 记录当前位的权值
 }
 cout << "转换后的十进制数为:" << decimal << endl;
 return 0;
}

除了十进制和二进制之间的转换,C++还可以支持八进制和十六进制的转换。在进行八进制转十进制和十六进制转十进制时,也可以按照上面的方法,将每一位数乘上相应的权值,然后相加即可。

总之,进制转换在C++编程中是非常基础而且常用的。掌握了这些基础知识,可以为大家今后的计算机科学学习打下坚实的基础。

  
  

评论区

请求出错了