Binary sequence from a vector to a variable

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 日

0 投票

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 件のコメント

John D'Errico
John D'Errico 2016 年 3 月 15 日
bin2dec
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 日

0 投票

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 日

0 投票

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 日

0 投票

I used bin2dec, it is very simple and exactly what I needed, thanks to all of you :)

1 件のコメント

Andrei Bobrov
Andrei Bobrov 2016 年 3 月 15 日
In it case, please accept answer by John D'Errico.

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeData Type Conversion についてさらに検索

質問済み:

2016 年 3 月 15 日

コメント済み:

2016 年 3 月 15 日

Community Treasure Hunt

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

Start Hunting!

Translated by