making blocks using for loop

1 view (last 30 days)
Raza
Raza on 17 Feb 2014
Commented: Raza on 19 Feb 2014
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
Raza
Raza on 19 Feb 2014
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)

Community Treasure Hunt

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

Start Hunting!

Translated by