representing 8 bits per element

In the previous post
walters comment
Remember, comp is representing binary, and so is 1 bit per element, whereas your original data is at least 8 bits per element.
now how to represent binary element as 8 bits per element
binary values are stored in comp

1 件のコメント

Image Analyst
Image Analyst 2012 年 12 月 27 日
Why wasn't this posted in that previous post then? Why did you start a whole new discussion?

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

 採用された回答

Walter Roberson
Walter Roberson 2012 年 12 月 27 日

0 投票

Provided your vector comp is an exact multiple of 8 long:
x = comp; %just to make the writing shorter
uint8( x(1:8:end) * 128 + x(2:8:end) * 64 + x(3:8:end) * 32 + x(4:8:end) * 16 + x(5:8:end) * 8 + x(6:8:end) * 4 + x(7:8:end) * 2 + x(8:8:end) )

6 件のコメント

FIR
FIR 2012 年 12 月 27 日
walter i get error
??? Error using ==> plus Matrix dimensions must agree.
size(x)
ans =
167770 1
FIR
FIR 2012 年 12 月 27 日
till x(2:8:end) * 64;
the size is
20972 1
after that the size is
20971 1
Walter Roberson
Walter Roberson 2012 年 12 月 27 日
As I said, "Provided your vector comp is an exact multiple of 8 long"
If it isn't, then pad it with zeros.
FIR
FIR 2012 年 12 月 27 日
walter every time the size is varying
Walter Roberson
Walter Roberson 2012 年 12 月 27 日
while length(x) ~= 8 * floor(length(x)/8)
x(end+1) = 0;
end
FIR
FIR 2012 年 12 月 27 日
thanks a lot

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

その他の回答 (0 件)

カテゴリ

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

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by