making blocks using for loop

hi, i have number of bits (1 ans 0) and i want to have these bits in a block of 10 bits. let for example s=101010001110100101010010010001010 i want to put first 10 bits in b1 next ten bits in b2, next ten bits in b3 and the remaining bit in b4 with padding bits(to complete 10 bits in b4)

 Accepted Answer

Mischa Kim
Mischa Kim on 17 Feb 2014
Edited: Mischa Kim on 17 Feb 2014
Raza, this should do the trick:
s = '101010001110100101010010010001010'
s0 = '000000000';
b = {};
for ii = 1:floor(length(s)/10)
ind = 10*(ii-1) + 1;
b{ii} = s(ind:ind + 9);
end
b{ii+1} = strcat(s(10*ii + 1:end),s0(1:10*(ii+1) - length(s)));
disp(b)

2 Comments

thanks man, got the idea
i got a problem that when i save these values in b1, b2 , b3 and so on. and retrieve it gives value instead of binary digits, so to solve i used bitget command but it only support 52 digits, while my requirement is 128

Sign in to comment.

More Answers (0)

Asked:

on 17 Feb 2014

Commented:

on 19 Feb 2014

Community Treasure Hunt

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

Start Hunting!