21xrx.com
2024-11-08 23:18:21 Friday
登录
文章检索 我的文章 写文章
C++:十进制与二进制互相转换的进制转换代码
2023-07-05 12:03:57 深夜i     --     --
C++ 十进制 二进制 互相转换 进制转换代码

在计算机编程中,数字的进制转换是极为常见的操作。C++编程语言不同于人类日常使用的十进制,它使用的是二进制。所以在进行数值输入和输出操作时,通常需要进行进制转换。下面我们介绍一些在C++中实现十进制与二进制互相转换的进制转换代码。

1. 十进制转换为二进制

十进制数转换为二进制数的方法是:将该数对2取模(%2),然后将商继续对2取模,直至商为0时停止,将余数倒序排列即为该数的二进制码。

示例代码如下:


#include <iostream>

#include <stack>

using namespace std;

int main() {

  int dec;

  cout << "请输入一个十进制数:";

  cin >> dec;

  stack<int> s;

  while (dec != 0) {

    int mod = dec % 2;

    s.push(mod);

    dec /= 2;

  }

  cout << "转换成二进制后是:";

  while (!s.empty()) {

    cout << s.top();

    s.pop();

  }

  cout << endl;

  return 0;

}

该程序使用了栈这种数据结构,先将每次的余数存储在栈中,最后再弹出输出即可。

2. 二进制转换为十进制

二进制数转换为十进制数的方法是:将该数每一位(从右至左,分别为1、2、4、8、16、32...)乘以对应位置上的数字(0或1),再将所有结果相加。

示例代码如下:


#include <iostream>

#include <cmath>

using namespace std;

int main() {

  int binary, i = 0, dec = 0;

  cout << "请输入一个二进制数:";

  cin >> binary;

  while (binary != 0) {

    int mod = binary % 10;

    dec += mod * pow(2, i);

    ++i;

    binary /= 10;

  }

  cout << "转换成十进制后是:" << dec << endl;

  return 0;

}

该程序中使用了循环和幂函数 pow(),根据每一位上的数字乘以其对应位置上的值,再将所有结果相加即可。

以上的代码实现为转换操作提供了解决方案,为C++编程语言使用者提供了一些进制转换的代码示例,可以进一步优化或扩展应用。

  
  

评论区

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