c++中十进制转二进制函数
时间: 2024-09-13 21:06:11 浏览: 50
C++实现读入二进制数并转换为十进制输出
5星 · 资源好评率100%
在C++中,可以编写一个函数来将十进制数转换为二进制数。通常,这可以通过不断地将十进制数除以2,并将余数逆序输出的方式来实现。下面是一个简单的转换函数实现示例:
```cpp
#include <iostream>
#include <stack>
// 函数声明
std::string DecimalToBinary(int decimalNumber);
int main() {
int number;
std::cout << "请输入一个十进制数: ";
std::cin >> number;
std::string binary = DecimalToBinary(number);
std::cout << "十进制数 " << number << " 的二进制表示为: " << binary << std::endl;
return 0;
}
// 函数定义
std::string DecimalToBinary(int decimalNumber) {
std::stack<int> s;
while (decimalNumber > 0) {
s.push(decimalNumber % 2);
decimalNumber /= 2;
}
std::string binary = "";
while (!s.empty()) {
binary += std::to_string(s.top());
s.pop();
}
return binary.empty() ? "0" : binary;
}
```
这个程序首先使用一个栈来存储每次除以2得到的余数。之后,当所有计算完成,余数被压入栈中。然后通过不断弹出栈顶元素来构建二进制字符串。这样得到的二进制字符串是从低位到高位的顺序,与通常的二进制表示法相反,所以在最后返回之前,不需要反转字符串,因为栈的后进先出特性保证了余数是逆序的。
阅读全文