利用matlab将二进制小数转换为十进制小数

注意,这个函数只能转换二进制小数,即形如 0.1101110001的格式,而形如110110.00101001则无法进行转换。

function d = bintodec(binstr) 
binstr = binstr(3:end);    %提取小数点后的字符
len = length(binstr);

sum = 0;

for i = 1:len    
    if binstr(i) == '0'    %这个ifelse的作用是把字符值变换为数字值
                 
        binstr(i) = 0;
    else
        binstr(i) = 1;
    end
    sum = sum + binstr(i)*2^(-i);
end;

 d = sum;

 

posted @ 2014-11-21 13:23  Pony_wang  阅读(2867)  评论(0编辑  收藏  举报