c++二进制转十进制用指针
时间: 2023-08-06 07:05:46 浏览: 50
下面是一个使用指针将二进制转换为十进制的 C++ 代码示例:
```c++
#include <iostream>
using namespace std;
int binary_to_decimal(int *arr, int size) {
int result = 0;
for (int i = size - 1; i >= 0; i--) {
result += *(arr + i) * (1 << (size - i - 1));
}
return result;
}
int main() {
int binary[] = {1, 0, 1, 0, 1}; // 二进制数 10101
int size = sizeof(binary) / sizeof(binary[0]);
int decimal = binary_to_decimal(binary, size);
cout << "Decimal equivalent of binary " << binary << " is: " << decimal << endl;
return 0;
}
```
在上面的代码中,`binary_to_decimal` 函数使用指针来访问二进制数组中的每个元素,并将其转换为十进制。该函数首先将 `result` 变量初始化为 0。然后从数组的最后一个元素开始循环,每次将当前元素乘以 2 的幂次方(根据它在数组中的位置确定幂次方),并将结果加到 `result` 变量中。最后,函数返回转换后的十进制值。
在 `main` 函数中,我们定义了一个包含二进制数的整数数组,计算出数组的大小,然后调用 `binary_to_decimal` 函数来将其转换为十进制。最后,我们打印出转换后的十进制值。