How to group and convert to decimal?

1 vue (au cours des 30 derniers jours)
Sharen H
Sharen H le 4 Fév 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 commentaires
Sharen H
Sharen H le 4 Fév 2013
r() function is a double value
Image Analyst
Image Analyst le 4 Fév 2013
Modifié(e) : Image Analyst le 4 Fév 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.

Connectez-vous pour commenter.

Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 4 Fév 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 commentaires
Azzi Abdelmalek
Azzi Abdelmalek le 4 Fév 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 le 4 Fév 2013
Thanks a lot....

Connectez-vous pour commenter.

Plus de réponses (1)

Jan
Jan le 4 Fév 2013
Modifié(e) : Jan le 4 Fév 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(:);

Catégories

En savoir plus sur Data Type Conversion dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by