decimal to binary and grouping into another matrix

1 回表示 (過去 30 日間)
Sharen H
Sharen H 2012 年 10 月 30 日
i have to convert a decimal value to binary and group every two digits to
form a new one dimensional matrix whose size is 1,4*rows*cols
i tried this its not working ie
secret = [22 33
22 44]
[rows,cols]=size(secret);
for i= 1 : rows
for j= 1: cols
binarysecret{i,j}=dec2bin(secret(i,j),8);
end
end cc=1;
[r,c]=size(binarysecret)
for q = 1 : r
for q1 = 1 : c
while(x<8)
y=x+1;
secretDNA{cc} = binarysecret{q,q1}(x:y)
x=x+2;
cc=cc+1;
end
end
end
Thanks in advance

採用された回答

Andrei Bobrov
Andrei Bobrov 2012 年 10 月 30 日
編集済み: Andrei Bobrov 2012 年 10 月 30 日
bi = dec2bin(secret,8) - '0';
out = reshape(mat2cell(bi,ones(size(bi,1),1),2*ones(size(bi,2)/2,1))',1,[]);
or
n = 8;
s = size(secret);
bi = rem(floor(reshape(secret',[],1)*pow2(1-n:0)),2);
out = reshape(mat2cell(bi,ones(prod(s),1),2*ones(n/2,1))',1,[]);
  2 件のコメント
Sharen H
Sharen H 2012 年 10 月 30 日
thanks a lot
Sharen H
Sharen H 2012 年 10 月 30 日
編集済み: Sharen H 2012 年 10 月 30 日
secret = [22 33
33 44]
bi = dec2bin(secret,8) - '0';
out = reshape(mat2cell(bi,ones(size(bi,1),1),2*ones(size(bi,2)/2,1))',1,[]);
How to regroup the answer to get back the original secret

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by