c++中二进制转十进制
时间: 2023-11-30 07:04:04 浏览: 91
在C++中将二进制转换为十进制可以通过以下代码实现:
```
#include <iostream>
#include <math.h>
using namespace std;
int main() {
unsigned long n, num = 0;
int i = 0;
cout << "Enter any Binary number:";
cin >> n;
while (n != 0) {
int d = n % 10;
num += d * pow(2, i);
n /= 10;
i++;
}
cout << "\nThe Decimal conversion of " << n << " is " << num;
return 0;
}
```
这个程序将输入的二进制数转换为十进制数,并输出结果。具体实现方法是将二进制数从右往左依次取出每一位,乘以2的幂次方,再将结果相加即可得到十进制数。
相关问题
c++中二进制打开文件
在C++中,可以使用二进制模式打开文件。以下是一个简单的例子,演示如何使用二进制模式打开文件并读取其中的内容:
```c++
#include <iostream>
#include <fstream>
using namespace std;
int main () {
char data[100];
// 以二进制模式打开文件
ifstream infile;
infile.open("file.bin", ios::binary | ios::in);
// 读取文件内容
infile.read(data, 100);
// 输出文件内容
cout << data << endl;
// 关闭文件
infile.close();
return 0;
}
```
在上面的例子中,我们使用了`ifstream`类来打开文件,并将文件模式设置为二进制模式。然后,我们使用`read()`函数从文件中读取100个字节的内容,并将其存储在`data`数组中。最后,我们输出`data`数组中的内容,并关闭文件。
c/c++中二进制字符串转为整数
要将C/C++中的二进制字符串转换为整数,可以使用以下代码:
```c++
#include <iostream>
#include <string>
#include <cmath>
int binaryStringToInt(std::string binaryString) {
int result = 0;
int power = 0;
for (int i = binaryString.length() - 1; i >= 0; i--) {
int digit = binaryString[i] - '0';
result += digit * pow(2, power);
power++;
}
return result;
}
int main() {
std::string binary = "1101"; // 二进制字符串
int decimal = binaryStringToInt(binary); // 调用转换函数
std::cout << "二进制字符串 " << binary << " 转换为整数为 " << decimal << std::endl;
return 0;
}
```
以上代码首先定义了一个 `binaryStringToInt` 函数,它接受一个二进制字符串作为参数,并返回该字符串表示的整数。在 `main` 函数中,我们调用了 `binaryStringToInt` 函数,并将转换后的整数打印出来。
这段代码的关键在于循环遍历二进制字符串中的每一位,将每一位对应的值乘以 2 的次方(根据位置确定次方),然后累加起来得到最终的整数值。通过这个方法,就可以将二进制字符串转换为整数。
阅读全文