二进制转十进制算法(从第一位开始计算)
从二进制第一位数开始求十进制数,如图所示
先要获取二进制0, 1的个数,然后根据公式求解。
代码如下(C语言):
#include <cstdio>
int main()
{
printf(“输入二进制数:”);
int v = 0;
for(;;)
{
int ch = getchar();
//一直读取到非换行符为止
if(ch != \’\n\’ && ch != \’\r\’)//\’\r\’就是回到当前开头,而不会移到下一行。
{
v = v * 2 + ch – \’0\’;
}
else
break;
}
printf(“%d\n”, v);
return 0;
}