Está en la página 1de 2

% 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

También podría gustarte