将十进制转化为二进制c++
时间: 2024-06-13 15:06:48 浏览: 96
以下是将十进制转化为二进制的C++代码:
```c++
#include <bits/stdc++.h>
using namespace std;
const int N=110;
int a[N];
int main(){
int n;
cin>>n;
int i=0;
while(n>0){
a[i]=n%2;
i++;
n /= 2;
}
for(int j=i-1;j>=0;j--){
cout<<a[j];
}
return 0;
}
```
相关问题
将十进制转化为二进制C++
在C++中,将十进制整数转换为二进制可以使用内置的`bitset`库或者手动通过循环除以2并取余的方式来实现。以下是两种方法的简要介绍:
**方法一:使用`bitset`**
```cpp
#include <bitset>
int decimalToBinary(int num) {
std::bitset<8> binary(num); // 假设我们想要8位二进制,可根据需要调整长度
return binary.to_string();
}
// 示例
int main() {
int decimal = 42;
std::string binary_str = decimalToBinary(decimal);
std::cout << "Decimal " << decimal << " in binary is: " << binary_str << std::endl;
return 0;
}
```
**方法二:手动实现**
```cpp
#include <iostream>
#include <vector>
std::vector<int> decimalToBinary(int num) {
std::vector<int> binary(1, 0); // 初始化二进制数组
while (num > 0) {
binary.push_back(num % 2);
num /= 2; // 取余然后整除
}
// 从后往前填充数组,因为最低有效位在最前面
for (int i = 0, j = binary.size() - 1; i < j; ++i, --j) {
std::swap(binary[i], binary[j]);
}
return binary;
}
int main() {
int decimal = 42;
std::vector<int> binary = decimalToBinary(decimal);
for (int bit : binary) {
std::cout << bit;
}
std::cout << "\n";
return 0;
}
```
在这两种方法中,用户可以根据需要选择适合的方法。
将十进制转化为二进制用C++实现
在C++中将十进制转换为二进制可以使用内置库函数`bitset`,或者手动通过循环除以2并取余数的方式来实现。这里我会展示两种方法:
1. **使用bitset**:
```cpp
#include <bitset>
#include <iostream>
std::string decimalToBinary(int decimal) {
std::bitset<32> binary(decimal); // 使用32位bitset来存储,实际需要根据decimal的最大值调整
return binary.to_string();
}
int main() {
int number = 42;
std::cout << "Binary representation of " << number << " is: " << decimalToBinary(number) << std::endl;
return 0;
}
```
2. **手动计算** (Long Division Algorithm):
```cpp
#include <iostream>
#include <string>
std::string decimalToBinaryManually(int decimal) {
std::string binary = "";
while (decimal > 0) {
binary = std::to_string(decimal % 2) + binary;
decimal /= 2;
}
return binary;
}
int main() {
int number = 42;
std::cout << "Binary representation of " << number << " is: " << decimalToBinaryManually(number) << std::endl;
return 0;
}
```
阅读全文