创建二进制到十进制转换器;大部分的骨头都下来了,但我有一个问题 - 程序从左到右而不是从右到左读取二进制数(就像通常通过手写计算它所做的那样)。因此,“1111”、“10001”和 10101 等输入作为正确的十进制答案输出,但某些输入(例如“10011”)显然会输出不正确。
TL;DR 哪种方式最适合翻转循环通过 char 数组的方式?
示例代码:
for (i = 0; i < 33 && binary[i] != '\0'; i++, power++)
{
if (binary[i] == '0')
continue;
else if (binary[i] == '1')
decimal = pow (2,power) + decimal;
else
{
cout << "Invalid input." << endl;
return 0;
}
}