输入一个非负十进制整数,利用数组将其转换为二进制形式输出。 输入:一个非负整数n (0<=n<2^31)。 输出:对应的二进制形式。程序代码c++
时间: 2024-11-29 19:32:42 浏览: 0
在C++中,可以使用内置的`bitset`库或者手动实现循环来进行非负整数到二进制字符串的转换。以下是两个简单的例子:
1. 使用`bitset`库:
```cpp
#include <bitset>
#include <string>
std::string decimalToBinary(int n) {
std::bitset<31> binary(n); // 31位足够表示32位整数
return binary.to_string(); // .to_string()返回二进制字符串
}
int main() {
int n = 42;
std::cout << "二进制形式: " << decimalToBinary(n) << std::endl;
return 0;
}
```
2. 手动实现循环:
```cpp
#include <iostream>
std::string decimalToBinary(int n) {
std::string result = "";
while (n > 0) {
result = std::to_string(n % 2) + result; // 取余并添加到结果前面
n /= 2; // 整除2
}
if (result.empty()) result = "0"; // 如果原数是0,则直接返回"0"
return result;
}
int main() {
int n = 42;
std::cout << "二进制形式: " << decimalToBinary(n) << std::endl;
return 0;
}
```
运行以上任一程序,都会得到非负整数n的二进制表示。
阅读全文