DisProgTarea02 AndoneyValdezDaniel
DisProgTarea02 AndoneyValdezDaniel
DisProgTarea02 AndoneyValdezDaniel
MATERIA
Dispositivos Programables
ALUMNO
TEMA
Programa en Matlab para obtener la representación en
formato Q15.16 con signo y formato IEEE-754
Primer parcial
Instrucciones
• Crear un documento en Word
• Letra de tamaño arial de 12 puntos
• Guardar el documento en pdf. con el nombre:
DisProgTarea02_Apellido1Apellido2Nombre1Nombre2
num = input(prompt);
entero = fix(abs(num));
bin = dec2bin(entero);
if(num<0)
decimal = abs(entero + num);
S = '1';
else
S = '0';
decimal = num-entero;
end
n=1;
res = decimal*2;
if((res - fix(res)) ~= 0)
bindec(1,n) = int2str(fix(res));
while ((res - fix(res)) ~= 0)
bindec(1,n) = '1';
end
aux1 = strcat(bin,'.');
aux2 = strcat(aux1,bindec);
aux3 = fliplr(aux2);
contador = 1;
for n = 1:length(aux2)
if(~strcmp(aux2(n),'.'))
contador = contador + 1;
else
break;
end
end
contador = contador -2;
E = contador + 127;
Ebin = dec2bin(E);
for i = 1:length(aux2)
if(i == 1)
mantisa(1,i) =' ';
else
if(~strcmp(aux2(1,i),'.'))
mantisa(1,i) = aux2(1,i);
else
mantisa(1,i) = ' ';
end
end
end
n = length(mantisa) + 1;
while(length(mantisa) <25)
mantisa(1,n) = '0';
n=n+1;
end
IEEE754 = strcat(S,'_');
IEEE754 = strcat(IEEE754,Ebin);
IEEE754 = strcat(IEEE754,mantisa);
disp('El numero binario en formato IEEE-754 simple es:');
fprintf('%s\n',IEEE754);
2.Elabore un programa en Matlab que obtenga la representación binaria Q15.16 con signo de un
número:
Solución:
clear all;
close all;
prompt = 'introduce un número que convertiremos a binario en formato
Q15.16 con bit de signo';
nu= input(prompt);
char sign;
um=floor(nu);
dois= nu-um;
if(nu>=0)
sign=0;
else
sign=1;
um=um+1;
end
binint = dec2bin(abs(um),15);
sign1=int2str(sign);
dec= zeros(1,16);
dec2=zeros(1,16);
for c=1:16
dois=dois*2;
if(dois >=1)
dec(1:c)= 1;
dois=dois-1;
end
dec2(c)=dec(1,c);
end
numbin(1:33) = '0';
numbin(1) = sign1;
numbin(2:16)=binint;
numbin(17)='.';
numbin(18)=int2str(dec(1));
numbin(19)=int2str(dec(2));
numbin(20)=int2str(dec(3));
numbin(21)=int2str(dec(4));
numbin(22)=int2str(dec(5));
numbin(23)=int2str(dec(6));
numbin(24)=int2str(dec(7));
numbin(25)=int2str(dec(8));
numbin(26)=int2str(dec(9));
numbin(27)=int2str(dec(10));
numbin(28)=int2str(dec(11));
numbin(29)=int2str(dec(12));
numbin(30)=int2str(dec(13));
numbin(31)=int2str(dec(14));
numbin(32)=int2str(dec(15));
numbin(33)=int2str(dec(16));
disp('Este es tu numero en binario en formato Q15.16 con bit de signo');
disp(numbin)