Matlab - funcion bin2dec

 
Vista:

funcion bin2dec

Publicado por Israel (1 intervención) el 06/07/2001 07:32:39
Mi duda es:

Estoy trabajando con la funcion bin2dec(\\\'\\\'), con esta función se hace una conversión de binario a decimal, pero la función requiere que el número binario sea string, y yo lo tengo en una variable, ¿como lo puedo poner?

ejemplo:

numerobin= input(\\\'\\\\nIntroduzca el número binario: \\\');

numerodec = bin2dec(numerobin);

fprintf(\\\'El número %s binario equivale a %d decimal \\\\n\\\\n\\\', numerobin, numerodec);

En la linea numerodec = bin2dec(numerobin);
en donde está numerobin debe ir el numero binario como string es decir entre \\\' \\\' pero si mi variable numerobin la pongo entre los \\\' \\\' la tomará como una cadena y no como el valor que tiene, como puedo solucionar esto?

Y otra cosa.. como puedo limitar a que en el input solamente puedan introducir 0 y 1 ya que lo que pido al usuario es un numero binario.

Espero que me puedan ayudar, gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:funcion bin2dec

Publicado por Adolfo (4 intervenciones) el 06/07/2001 13:05:02

Creo que lo que te pasa es lo contrario. La función input te devuelve una cadena (aunque a tí te parezca que es un número) y seguramente bin2dec necesite como argumento un número (no te lo puedo comprobar pq aquí no tengo MatLab). Convierte la cadena a entero antes de usar bin2dec.
Para limitar la entrada a 1/0 podrías hacerlo cogiendo las propiedades de la caja de texto (con la instrucción set + findobj), pero, ¿por qué no pones en vez de una caja de texto un listbox?

Saludos, Adolfo
P.D. Si algo no te ha quedado claro, me puedes escribir, pero la semana que viene estoy de vacaciones
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:funcion bin2dec

Publicado por automata (4 intervenciones) el 28/10/2001 05:28:03
O se escribe :
sprintf(\'Numero decimal en numerico %d\',bin2dec(\'101001\'))
O se escribe :
sprintf(\'Numero decimal en numerico %s\',num2str(bin2dec(\'101001\')))

UNA FORMA DE SABER SI A ES BINARIO
if all(ismember(A,\'1\')+ismember(A,\'0\'))
sprintf(\'Entonces A es binari\')
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:funcion bin2dec

Publicado por Luis Carlos Osorio Jayk (1 intervención) el 31/05/2009 20:38:03
Ejemplo:

>> binario = [1 0 1 0 1 0];
>> binstring = dec2mvl(binario);
>> binstring = reshape(binstring,1,size(binstring,1));
>> decimal = bin2dec(binstring);

Nota: el reshape es porque el dec2mvl arroja un arreglo de 6 filas por una columna, y necesitamos un arreglo de 1 fila por 6 columnas para poder introducirlo en bin2dec. Para que sea de manera general, por ello extraigo el numero de filas con size(binstring,1) , ese uno quiere decir el numero de filas puesto que no me interesa la cantidad de columnas que tiene.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

funcion bin2dec

Publicado por Angie (1 intervención) el 06/06/2014 21:46:18
Muchas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar