How to group and convert to decimal?

1 visualización (últimos 30 días)
Sharen H
Sharen H el 4 de Feb. de 2013
The output of r is 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1
I want to group every 8 digits and convert to decimal
Please help
  4 comentarios
Sharen H
Sharen H el 4 de Feb. de 2013
r() function is a double value
Image Analyst
Image Analyst el 4 de Feb. de 2013
Editada: Image Analyst el 4 de Feb. de 2013
You mean an "array" of doubles is returned by r(), like this [0, 0, 0, 1, 0, 1, 0, etc.], not just a single double like you implied. So, it's like what Azzi assumed.

Iniciar sesión para comentar.

Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 4 de Feb. de 2013
x=[ 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1]
x=num2str(x)
x(x==' ')=[];
y=reshape(x,[],8);
out=bin2dec(y)
  3 comentarios
Azzi Abdelmalek
Azzi Abdelmalek el 4 de Feb. de 2013
Ok, there is an error in reshape function
x=[ 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1]
x=num2str(x)
x(x==' ')=[];
y=reshape(x,8,[])';
out=bin2dec(y)
Sharen H
Sharen H el 4 de Feb. de 2013
Thanks a lot....

Iniciar sesión para comentar.

Más respuestas (1)

Jan
Jan el 4 de Feb. de 2013
Editada: Jan el 4 de Feb. de 2013
Converting from a double vector to a string and back to a double inside bin2dec is not efficient. Better convert from binary to decimal values directly:
x = [ 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1];
d = 2 .^ (length(x)-1:-1:0) * x(:);

Categorías

Más información sobre Data Type Conversion en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by