Convert vector to single double number

10 visualizaciones (últimos 30 días)
Terek Li
Terek Li el 26 de Oct. de 2016
Editada: Jan el 26 de Oct. de 2016
I have a vector [ 0 0 1 0 1 0 1] is there a quick way to convert it to a single number: 10101 ?

Respuesta aceptada

Jan
Jan el 26 de Oct. de 2016
Editada: Jan el 26 de Oct. de 2016
Does "quick" means fast or easy?
x = [0 0 1 0 1 0 1];
p = flipud([1; cumprod(repmat(10, size(x, 2) - 1, 1))]);
y = x * p;
This is fast, but it may look complicated on the first sight.

Más respuestas (1)

KSSV
KSSV el 26 de Oct. de 2016
b =[ 0 0 1 0 1 0 1];
k = sprintf('%1d',b)
iwant=str2double(k) ;
  2 comentarios
Terek Li
Terek Li el 26 de Oct. de 2016
yes this would work, but it is not fast enough for my need. Thanks a lot though!
KSSV
KSSV el 26 de Oct. de 2016
b =[ 0 0 1 0 1 0 1];
k = bin2dec(char(b+'0')) ;
dec2bin(k)

Iniciar sesión para comentar.

Categorías

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

Community Treasure Hunt

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

Start Hunting!

Translated by