Effacer les filtres
Effacer les filtres

How can i flip specific bit of an binary array.

15 vues (au cours des 30 derniers jours)
aditya kumar sahu
aditya kumar sahu le 12 Déc 2016
Modifié(e) : James Tursa le 5 Avr 2019
suppose i have a=[1 0 1] and i want to flip the 2nd position bit then i can do by a([2])=~a([2]). but let if a = [1 0 1; 0 1 1; 1 0 0; 1 0 1](large matrix of binary numbers] then , how can a specific bit can be flipped.

Réponse acceptée

James Tursa
James Tursa le 12 Déc 2016
E.g., the bit in the (2,3) position:
a(2,3) = ~a(2,3);
  2 commentaires
Anmol Shah
Anmol Shah le 5 Avr 2019
I am trying this code but getting the error
"Conversion to char from logical is not possible."
I'm using the below commands
z=(dec2bin(20))
z(1,1) = ~z(1,1);
James Tursa
James Tursa le 5 Avr 2019
Modifié(e) : James Tursa le 5 Avr 2019
The ~ operator is appropriate for logical or numeric variables. For char variables that you know to contain only '0' and '1' characters, you could just do the following:
z(1,1) = '0'+'1'-z(1,1);
The expression on the rhs is double, but will be converted back into char as a result of the indexed assignment on the lhs. If you are not doing an indexed assignment, you may need to wrap the expression in the char( ) function:
char('0'+'1'-z(1,1))

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by