How can i flip specific bit of an binary array.
24 次查看(过去 30 天)
显示 更早的评论
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.
0 个评论
采纳的回答
James Tursa
2016-12-12
E.g., the bit in the (2,3) position:
a(2,3) = ~a(2,3);
2 个评论
Anmol Shah
2019-4-5
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
2019-4-5
编辑:James Tursa
2019-4-5
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))
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!