C++十进制转二进制函数
时间: 2023-09-29 16:03:17 浏览: 148
下面是一个将十进制数转换为二进制数的C++函数:
```c++
#include <bitset>
string decToBinary(int n) {
// 将十进制数转换为二进制字符串
string binary = bitset<32>(n).to_string();
// 找到第一个非零位
size_t pos = binary.find('1');
// 如果没有找到,说明 n 为 0
if (pos == string::npos) {
return "0";
}
// 返回非零位及其后面的字符串
return binary.substr(pos);
}
```
使用 `bitset` 类可以方便地将一个整数转换为二进制字符串。函数首先将整数 `n` 转换为长度为 32 的二进制字符串,然后找到第一个非零位的位置,最后返回该位置及其后面的字符串。
示例:
```c++
int n = 42;
string binary = decToBinary(n);
cout << binary << endl; // 输出 101010
```
相关问题
c++十进制转二进制函数
可以使用位运算符来实现c++的十进制转二进制函数,如下所示:
```c++
#include <iostream>
#include <bitset>
using namespace std;
void decToBinary(int n) {
bitset<32> binaryNum;
int i = 0;
while (n > 0) {
binaryNum[i] = n % 2;
n = n / 2;
i++;
}
for (int j = i - 1; j >= 0; j--)
cout << binaryNum[j];
}
int main() {
int n;
cout << "Enter a decimal number: ";
cin >> n;
cout << "Binary representation of " << n << " is: ";
decToBinary(n);
return 0;
}
```
该函数将十进制数字转换为二进制,使用了C++的位运算符和std::bitset数据类型。在函数中,首先创建一个大小为32的bitset,然后使用while循环将给定的十进制数字转换为二进制。最后,使用for循环打印出二进制数字的每个位,从左到右。
C++十进制转二进制
在C++中,可以使用位运算符和循环来将十进制数转换为二进制数。以下是一个示例代码:
```cpp
#include <iostream>
using namespace std;
void printbinary(const unsigned int val) {
for(int i = 31; i >= 0; i--) {
if(val & (1 << i))
cout << "1";
else
cout << "0";
}
}
int main() {
printbinary(1024);
return 0;
}
```
这段代码中,`printbinary`函数接受一个无符号整数作为参数,并使用位运算符和循环将其转换为二进制数。在循环中,从最高位开始,通过与运算符`&`和左移运算符`<<`来判断每一位是否为1,并将结果打印出来。在`main`函数中,我们调用`printbinary`函数并传入十进制数1024作为参数,将其转换为二进制数并输出。
#### 引用[.reference_title]
- *1* *2* *3* [C++进制转换(十进制转二进制、八进制、任意进制)](https://blog.csdn.net/xiaofei2010/article/details/7434737)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文
相关推荐












