binary to decimal conversion.......need ans immidiately plzzzzzzzzzzz

hello! I have a string of binary suppose a binary string of 2000 bit. A=[0 0 0 0 1 1 0 1 1 0 1 0 0 ............so on] I wana to convert it into decimals. though i use function B=bin2dec(A, 8). but it returns me error. i wana to convert each 8-bits into decimal number. plz help me how should i do it. Thanks

 採用された回答

Teja Muppirala
Teja Muppirala 2011 年 5 月 6 日

3 投票

sum(bsxfun(@times,reshape(A,8,[]), 2.^(7:-1:0)'))

3 件のコメント

Andrei Bobrov
Andrei Bobrov 2011 年 5 月 6 日
or
reshape(A,8,[])'*2.^(7:-1:0)'
Teja Muppirala
Teja Muppirala 2011 年 5 月 7 日
Good catch. Much better.
Teja Muppirala
Teja Muppirala 2011 年 5 月 7 日
Same without transposes:
2.^(7:-1:0)*reshape(A,8,[])

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

その他の回答 (2 件)

RoJo
RoJo 2011 年 5 月 6 日

0 投票

bin2dec takes a binary string as input argument.
So you can convert A into 8 bit strings and then call bin2dec
For example A1 = '00001101' B1 = bin2dec(A1)
Andrei Bobrov
Andrei Bobrov 2011 年 5 月 6 日

0 投票

variant
bin2dec(num2str(reshape([A,zeros(1,8-rem(length(A),8))],[],8)))

1 件のコメント

Walter Roberson
Walter Roberson 2011 年 5 月 6 日
bin2dec(char('0'+reshape([A,zeros(1,8-rem(length(A),8))],[],8)))

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

カテゴリ

ヘルプ センター および File ExchangeNumeric Types についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by