利用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;
原文地址:https://www.cnblogs.com/bigpo/p/4112695.html