MATLAB Answers

convert an array of 0s and 1s to binary & reverse

1 view (last 30 days)
Houssam
Houssam on 13 Jun 2021
Edited: Walter Roberson on 14 Jun 2021
hi Community,
I have an array of type double that contain only zeros and ones.
i want to convert it to binary value like below
[0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1] ----> [0 255]
and do the same thing in reverse
already tried de2bi()
but nothing !!!
  2 Comments
Rik
Rik on 13 Jun 2021
@Stephen, isn't that the normal encoding? 0-255 is a normal 8 bit range, right? Or am I confused?

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 14 Jun 2021
Edited: Walter Roberson on 14 Jun 2021
pad with 0 to a multiple of 8
2.^(7:-1:0) * reshape(padded, 8,[])
The result will be a vector of values 0 to 255
reverse:
bits = reshape(de2bi(bytes, 8),1,[])
and remember to remove the padding bits

More Answers (1)

Stephen Cobeldick
Stephen Cobeldick on 14 Jun 2021
B = [0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1];
D = pow2(7:-1:0)*reshape(B,8,[])
D = 1×2
0 255

Community Treasure Hunt

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

Start Hunting!