decimal to binary and grouping into another matrix

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일

1 개 추천

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개)

카테고리

도움말 센터 및 File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by