% programa que convierte un numero binario a decimal
% utilizando el teorema fundamental de la numeracion
clear all bin=input('digite el numero binario:','s'); tam=length(bin); punto=strfind(bin,'.'); if punto ~=0 sw=0;% el numero binario tiene parte faccionaria else sw=1;% el numero binario no tiene parte fraccionaria end ent=0;frac=0; if sw==1 exponente=tam; for s=1:tam ent=ent+str2num(bin(s))*2^(exponente-1); exponente=exponente-1; end else exponente=punto-1; for s=1:punto-1 ent=ent+str2num(bin(s))*2^(exponente-1); exponente=exponente-1; end exponente=-1; for s=punto+1:tam frac=frac+str2num(bin(s))*2^(exponente); exponente=exponente-1; end end num=ent+frac; fprintf('el numero binario en decimales es:%f\n',num) % programa principal que permite convertir % un numero decimal a sistema binario clear all x=input('digite el numero a convertir en binario: '); if (x==fix(x)) entdec=entabin(x);% la funcion entabin convierte la parte entera a binario else e=x-fix(x);% parte entera f=x-e;% parte fraccionaria entdec=entabin(e); fracdec=fracabin(f);% la funcion fracbin convierte la parte fraccionaria a binario sw=1; end if sw==0 fprintf('el numero decimal en binario es:\n'); disp(entdec) else num=[entdec,fracdec]; fprintd('el numero decimal en binario es:\n'); disp(num) end