Matlab - Pasar de String a Hexadecimal

 
Vista:

Pasar de String a Hexadecimal

Publicado por Fa (9 intervenciones) el 09/02/2012 09:28:51
Hola,

Necesito pasar una cadena de caracteres a hexadecimal. Esta cadena la leo desde un editText y su contenido es una cadena en hexadecimal que es a lo que yo quiero transformarlo. Ahora hago:

[codedec2bin(]hex2dec(str2num('35 2E A8 D4')),32)[/code]

pero el resultado es ' '.....

Muchas 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
Imágen de perfil de Dave
Val: 497
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Pasar de String a Hexadecimal

Publicado por Dave (1094 intervenciones) el 09/02/2012 13:36:45
Hola Fa;

El detalle es que estas intentando pasar todo un conjunto de valores hexadecimales en un solo elemento, deberías ingresar cada valor hexadecimal separado por comas y entre comillas simples, te copio un ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
>> A={'35','2E','A8','D4'}
 
A =
 
    '35'    '2E'    'A8'    'D4'
 
>> B=hex2dec(A)
 
B =
 
    53
    46
   168
   212
 
>> c=dec2hex(B)
 
c =
 
35
2E
A8
D4



Saludos
Dave Correa
[email protected]
Servicios de Programación Matlab
http://fismatlab.blogspot.com/
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

Pasar de String a Hexadecimal

Publicado por Fa (9 intervenciones) el 09/02/2012 17:07:54
Entonces según lo que me recomiendas, para leer los 4 valores hexadecimales tengo que escribirlos en 4 editText verdad??
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
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Pasar de String a Hexadecimal

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 10/02/2012 00:03:07
Hola Fa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
function varargout = hexadecimal_decimal_hexadecimal(varargin)
clc
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @hexadecimal_decimal_hexadecimal_OpeningFcn, ...
                   'gui_OutputFcn',  @hexadecimal_decimal_hexadecimal_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end
 
if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end
 
function hexadecimal_decimal_hexadecimal_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
 
function varargout = hexadecimal_decimal_hexadecimal_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
cadena_hexa1='35 2E A8 D4';
cadena_decimal1='53   46   168   212';
set(handles.text6,'String',cadena_hexa1);
set(handles.text12,'String',cadena_decimal1);
 
function ingrese_cadena_hexadecimal_Callback(hObject, eventdata, handles)
cadena_hexa=get(hObject,'String');
eb1=find(cadena_hexa==' ');
k=1;
m=1;
 for i=1:length(eb1)
     cadena_dec{k}=cadena_hexa(m:eb1(i)-1);
     k=k+1;
     m=eb1(i)+1;
 end
 cadena_dec{k}=cadena_hexa(m:end);
 for i=1:length(cadena_dec)
 decimal(i)=hex2dec(cell2mat(cadena_dec(i)));
 end
 set(handles.text3,'String',num2str(decimal))
 
function ingrese_cadena_decimal_Callback(hObject, eventdata, handles)
cadena_decimal=str2num(get(hObject,'String'));
hexadecimal=dec2hex(cadena_decimal);
 k=1;
 for i=1:size(hexadecimal,1)
     hex{k}=hexadecimal(i,:);
     hex{k+1}=',';
     k=k+2;
 end
set(handles.text10,'String',cell2mat(hex))


EJECUCIONES.

http://subefotos.com/ver/?4d0120365c1ec357a1dd7aec47286974o.jpg

http://subefotos.com/ver/?602f7c09c2fa26b50306b97063e5a184o.jpg

Saludos.
JOSE JEREMIAS CABALLERO

Servicios de programacion matlab


Asesor de Proyectos con Matlab
programador en matlab
"Detalladar sus preguntas, para recibir respuestas acertadas"
[email protected]
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
sin imagen de perfil

Pasar de String a Hexadecimal

Publicado por carlos (1 intervención) el 27/06/2014 23:14:44
Buenas tardes señor Jose tengo una duda y no se si podria guiarme he hecho una funcion funcion en matlab q me permite transformar un numero decimal en hexadecimal, pero mi duda es ¿ como cambior los numeros mayores o iguales a 10 a letras.

1
2
3
4
5
6
7
8
9
10
11
function nhex=dec2hex(ndec)
 
nhex=[];
while ndec>=2
    nhex=[rem(ndec,16) nhex];
    ndec=fix(ndec/16);
 
end
 
nhex=[ndec nhex];
end

por ejm. si escribo el numero decimal 317547 al convertirlo me da 4 -13- 8- 6 -11 para los numeros 13 y 11 como hago para que se cambie con el valor de las letras A B C D E F

GRACIAS POR LA RESPUESTA
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