一些基础的东西,虽说是基础有时候回头看看未必一时能灵活想出来,记录下。
在C#中进制转换的方法很多,也有更简便的,初于巩固算法的原则,用循环来做一遍。
关于思路看comment基本应该可以明白了吧... ^_^
using System;
class Test
{
static void Main()
{
int num,sum,all=0,run=0;
Console.Write("输入一个二进制数:");
num=Int32.Parse(Console.ReadLine());
while(num!=0)
{
sum=num%10; //step one: | step two:
num/=10; //sum2= 1010%10=0 | sum2=101%10=1
all+=sum*(int)Math.Pow(2,run); //all+= 0*2^0 | all+=1*2^1
run++; //run=1 |
} //num= 101 | num= 10
Console.Write("输出十进制为:{0}/n",all);
}
}