C++将十进制变为二进制
时间: 2024-09-26 12:00:27 浏览: 71
C++实现十进制转二进制运算(改进版)
在C++中,将十进制整数转换为二进制字符串通常使用内置的库函数`bitset`或者手动进行位操作。以下是两种常用方法:
### 使用bitset
```cpp
#include <bitset>
#include <string>
std::string decimalToBinary(int decimal) {
std::bitset<32> binary(decimal); // 32位足够处理32位整数
return binary.to_string();
}
```
这个函数首先创建一个`bitset`对象,然后将其内容转换为字符串形式返回。
### 手动位操作
```cpp
#include <iostream>
std::string decimalToBinary(int decimal) {
std::string result;
while (decimal > 0) {
result = std::to_string(decimal % 2) + result; // 取余并添加到结果前面
decimal /= 2; // 除以2取整
}
if (result.empty()) result = "0"; // 若原数为0,添加一个0在最前
return result;
}
```
这里我们通过循环,每次取十进制数的最低位(余数),然后右移(除以2取整)直到原始数字变成0。
无论是哪种方法,最后得到的结果就是输入十进制数的二进制表示。
阅读全文