21xrx.com
2024-12-23 02:47:29 Monday
登录
文章检索 我的文章 写文章
C++编写进制转换代码
2023-07-10 03:28:58 深夜i     --     --
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++编程中是非常基础而且常用的。掌握了这些基础知识,可以为大家今后的计算机科学学习打下坚实的基础。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复