📅  最后修改于: 2023-12-03 15:14:04.522000             🧑  作者: Mango
在计算机科学中,十进制和二进制表示数字的方式是最常见的。在某些情况下,我们需要将一个十进制数转换为二进制数,这个过程叫做十进制到二进制的转换。这篇文章将介绍一种用C++语言实现十进制转换为二进制的方法。
将十进制数转换为二进制数的过程,可以通过对这个十进制数进行二进制位分解的思想来实现。分解的过程如下:
例如,将十进制数13转换为二进制数的过程:
下面是C++语言实现将十进制数转换为二进制数的代码:
#include <iostream>
#include <stack>
using namespace std;
void to_binary(int num)
{
stack<int> s; // 创建一个栈,用于存储二进制数
while (num)
{
s.push(num % 2); // 余数入栈
num /= 2; // 商作为下一次循环的数字
}
while (! s.empty())
{
cout << s.top(); // 输出栈顶元素
s.pop(); // 删除栈顶元素
}
}
int main()
{
int num = 13; // 十进制数
cout << num << " in binary is ";
to_binary(num); // 调用to_binary函数进行转换
cout << endl;
return 0;
}
程序运行结果如下:
13 in binary is 1101
本篇文章介绍了一种用C++语言实现十进制数转换为二进制数的方法,算法由两个部分组成:余数入栈和弹出栈顶元素。此算法还有其他实现方式,读者可以自行尝试寻找最优解决方案。