Board logo

标题: 3.2.9有问题赐教 [打印本页]

作者: wangyu    时间: 2010-5-27 22:44     标题: 3.2.9有问题赐教

static int convertbinarytoint(string binary)
{
if (string.isnullorempty(binary)==true) return -1;
int n=0;
for(int i=0; i<binary.length; i++)
{
n +=int32.parse(binary[i].tostring())*(int)math.pow(2,binary.length-i-1);
}
return n;
}

可否请教老师通过具体二进制数演示该程序,谢谢。。。实在有困难,谢谢老师,耽误老师时间了
作者: fwbook    时间: 2010-5-28 10:25

你给出的代码是错的。这里
pow(2,binary.length-i-1
应该是
pow(2,binary.length - i -1

代码本身不复杂,关键是你要明白二进制转十进制的方法。

例如二进制  1010  转化的时候

二进制形式        1                  0                 1                0
lenth                  4                 4                  4               4
i 的值                  0                 1                 2                3
length-i-1           3                 2                  1                0
十进制数字为  1×2的3次方+0×2的2次方+1×2的1次方+0×2的0次方
最终结果                       8       +     0        +    2         +0                          =10




欢迎光临 万卷图书 (http://wanjuanchina.net/) Powered by Discuz! 7.0.0