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 Kommentare

Stephen23
Stephen23 am 13 Jun. 2021
Bearbeitet: Stephen23 am 14 Jun. 2021
What shape is the input data? What encoding does it use?
Rik
Rik am 13 Jun. 2021
@Stephen, isn't that the normal encoding? 0-255 is a normal 8 bit range, right? Or am I confused?

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 14 Jun. 2021
Bearbeitet: Walter Roberson am 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

Weitere Antworten (1)

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

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by