
convertir de string a binario
Publicado por Plinio Reinaldo (1 intervención) el 22/09/2022 07:32:15
Hola:
Con el siguiente fragmento de codigo, obtengo en a una cadena de string con codigos que necesito convertir a binarios.
Cuando realizo estas funciones, me convierte a en una matriz, y obtengo en Vect el resultado deseado....
PERO si alguno de los codigos incluidos en a empieza con 0, no lo toma correctamente
NECESITO AYUDA Y SABER COMO PODER EXTRAER LOS VALORES DE a CORRECTAMENTE
Con el siguiente fragmento de codigo, obtengo en a una cadena de string con codigos que necesito convertir a binarios.
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
p = input ('Distribución de probabilidad de fuente de entrada: \ n'); %poner la probabilidad entre [] y separados por un espacio
[~, n] = size (p);
HT = zeros(2 * n-1,4);
for i=1:n
HT(i,1)=p(i);
end
HT;
HT0=HT;
for i=1:n-1
a=HT0(:,1);
[b,l]=sort(a,'descend');
s = b (n-i + 1) + b (n-i);
HT0 (n + i, 1) = s;
HT0 (l (n-i + 1), 1) = 0;
HT0 (l (n-i), 1) = 0;
HT0 (l (n-i + 1), 2) = n + i;
HT0 (l (n-i), 2) = n + i;
HT0 (n + i, 3) = l (n-i + 1);
HT0 (n + i, 4) = l (n-i);
HT(n+i,1)=s;
HT(l(n-i+1),2)=n+i;
HT(l(n-i),2)=n+i;
HT(n+i,3)=l(n-i+1);
HT(n+i,4)=l(n-i);
end
HT;
a={;};
for i=1:n
a{1,i}=' ';
end
for i=1:n
f=i;
while (HT (f, 2) ~= 0)
q = HT (f, 2);
if HT(q,3)==f
a {i} = strcat ('0', a {i});
else
a {i} = strcat ('1', a {i});
end
f = q;
end
end
Cuando realizo estas funciones, me convierte a en una matriz, y obtengo en Vect el resultado deseado....
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
for k1=1:length(a)
for k2=1:10
Vect(k1,k2)=2;
end
end
%convertir 'a' de string a binario y asignarlo en la matriz Vect
for k3=1:length(a)
M=str2double(a(k3));
z=num2str(M);
s=uint8(z);
y=dec2bin(s);
for t1=1:length(y(:,1))
for t2=1:6
En(t1,t2)=bin2dec(y(t1,t2));
end
end
for k=1:length(y(:,1))
Vect(k3,k)=En(k,6);
end
end
PERO si alguno de los codigos incluidos en a empieza con 0, no lo toma correctamente
NECESITO AYUDA Y SABER COMO PODER EXTRAER LOS VALORES DE a CORRECTAMENTE
Valora esta pregunta


0