Llenar arreglo con numeros binarios
Publicado por Pablo (2 intervenciones) el 02/12/2012 17:37:21
Buenas tardes, resulta que tengo problemas al llenar un arreglo con matlab. Mi ejercicio me pide que dado bits de mantisa y exponente (mas los 2 bits de signo) de todos los decimales representables. El problema se me presenta al llenar un arreglo.Mi idea seria que vaya haciendo asi por ej
00000
00001
00010
...
11111
Obtuve un codigo que lo hace perfectamente en C,pero al pasarlo a matlab y modificando la sintaxis no lo hace :/ . el codigo es el siguiente:
function []=nument()
expo=input('ingrese la cantidad de bit del exponente\n');
mant=input('ingrese la cantidad de bit de la mantisa\n');
N=mant+expo+2;
bin=2^N;
l=1;
A=zeros(1:N);
for i= 0:bin-1
for k=0:(N-1)
if(mod((i/l),2)==true)
A(N-k)=1;
else
A(N-k)=0;
end
l=2*l;
end
l=1;
for j=1:N
fprintf(' %d ',A(j));
end
end
(falta la parte de invocacion a la funcion que halla los decimales pero esa funciona bien)Cambie todos los indices, todo lo que se me ocurrio,pero sigo sin hallar respuesta.Desde ya,muchas gracias.
00000
00001
00010
...
11111
Obtuve un codigo que lo hace perfectamente en C,pero al pasarlo a matlab y modificando la sintaxis no lo hace :/ . el codigo es el siguiente:
function []=nument()
expo=input('ingrese la cantidad de bit del exponente\n');
mant=input('ingrese la cantidad de bit de la mantisa\n');
N=mant+expo+2;
bin=2^N;
l=1;
A=zeros(1:N);
for i= 0:bin-1
for k=0:(N-1)
if(mod((i/l),2)==true)
A(N-k)=1;
else
A(N-k)=0;
end
l=2*l;
end
l=1;
for j=1:N
fprintf(' %d ',A(j));
end
end
(falta la parte de invocacion a la funcion que halla los decimales pero esa funciona bien)Cambie todos los indices, todo lo que se me ocurrio,pero sigo sin hallar respuesta.Desde ya,muchas gracias.
Valora esta pregunta
0