Binary sequence from a vector to a variable

1 次查看(过去 30 天)
Hi!I have a binary sequence and I want to save it in a variable. How could I do it? Like this:
a= [1,0,0,1,0] -> ? -> b=10010
Thank you very much

回答(4 个)

Ced
Ced 2016-3-15
But a IS the binary sequence save in a variable? If you want to transform this into some decimal representation of the same digits...
represent_bin_as_dec = @(x)sum(x.*10.^(length(x)-1:-1:0),2);
a = [ 1 0 0 1 0 ];
b = represent_bin_as_dec(a)
Cheers
  2 个评论
Ced
Ced 2016-3-15
Yep, saw the answer. Good to know, thanks!
Although I think I still prefer to stay in the number realm rather than corrupting this mathematical purity with some characters, haha.
Guillaume's answer looks cleaner than mine here... but I just like to see the inner working of things. I guess that internally, polyval does more or less the same thing, plus of course all the input parsing and such.
I always enjoy having multiple answers for the same question. That's when we really learn new things :).

请先登录,再进行评论。


John D'Errico
John D'Errico 2016-3-15
a already is a variable!
That sequence is a vector of information. As such, you need to store it in a vector.
1. You can convert it to a string. But it will still be a vector, just a vector of character elements. So
b = char(a+'0')
b =
10010
2. You can convert it to an integer, as long as there are not more than 64 bits of information, if you will store it in a double.
b = bin2dec(char(a+'0'))
ans =
18
bin2dec only works up to 52 bits of course. Beyond that, you would need to use a conversion into uint64.

Guillaume
Guillaume 2016-3-15
Another option
a = [1 0 0 1 0]
b = polyval(a, 10) %decimal representation of the same digits
Note that I don't see how b is useful, since you can't use it to perform any arithmetic. The true number represented by a is:
c = polyval(a, 2)
  1 个评论
John D'Errico
John D'Errico 2016-3-15
A nice trick for base conversions. Of course, still limited to double as such. But still nice.

请先登录,再进行评论。


Cristian Mancera
Cristian Mancera 2016-3-15
I used bin2dec, it is very simple and exactly what I needed, thanks to all of you :)

类别

Help CenterFile Exchange 中查找有关 Data Type Conversion 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by