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

30 visualizzazioni (ultimi 30 giorni)
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 Commenti
Stephen23
Stephen23 il 13 Giu 2021
Modificato: Stephen23 il 14 Giu 2021
What shape is the input data? What encoding does it use?
Rik
Rik il 13 Giu 2021
@Stephen, isn't that the normal encoding? 0-255 is a normal 8 bit range, right? Or am I confused?

Accedi per commentare.

Risposta accettata

Walter Roberson
Walter Roberson il 14 Giu 2021
Modificato: Walter Roberson il 14 Giu 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

Più risposte (1)

Stephen23
Stephen23 il 14 Giu 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

Categorie

Scopri di più su Data Type Conversion in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by