-2
需要做一个二进制到十进制程序,这是我最远的地方:如何创建二进制到十进制程序?
二进制101110应该代表十进制中的46。但这打印出来11.任何帮助表示赞赏。
我的代码:
#include <iostream>
using namespace std;
int binary_to_number(int binary_digits[], int number_of_digits)
{
int sum = 0;
int n = -1;
int i = 0;
for (i = number_of_digits - 1; i >= 0; i--){
n++;
if (binary_digits[i] == 1)
sum = sum + (2^n);
}
return sum;
}
#ifndef WEBSUBMIT
int main()
{
int binary_digits[6] = {1,0,1,1,1,0};
cout << "" << binary_to_number(binary_digits, 6) << endl;
}
#endif //WEBSUBMIT
'^'操作符是*不是*指数运算符,它是XOR。试着想办法用左移运算符'<<'来代替。 –
C++不是一种脚本语言,所以严格的答案是你不能。 – EJP