MATLAB Answers

how to do bitxor operation of two 1*255 matrix

5 views (last 30 days)
moni sinha
moni sinha on 30 Nov 2018
Edited: Greg on 30 Nov 2018
h1 =1x255 logical
h3 = 1x255 logical
howto do bitxor of h1 and h3

  0 Comments

Sign in to comment.

Answers (2)

Greg
Greg on 30 Nov 2018
Edited: Greg on 30 Nov 2018
result = h1 | h3;
Edit: this is logical (bit) or, not xor. As posted elsewhere, simply use the xor function.

  4 Comments

Show 1 older comment
Guillaume
Guillaume on 30 Nov 2018
Your screenshot clearly shows that h1 is 1x254, and c is 1x256. So yes, you're going to get an error telling you that their size do not match.
Note that |is the or operator, not the xor operator.
Jan
Jan on 30 Nov 2018
The error message is clear: The array sizes are different. Here the variables h1 (logical) and c (double) are concerned. So why do you ask for "h1 =1x255 logical, h3 = 1x255 logical"?
Greg
Greg on 30 Nov 2018
Good catch Guillaume, i kept reading or not xor.
Why are we assuming c is the second argument? The original post explicitly states h1 and h3, both are logical and same size. All following posts are new problems to the original question.

Sign in to comment.


James Tursa
James Tursa on 30 Nov 2018
Edited: James Tursa on 30 Nov 2018
It's not entirely clear to me what operation you really want, but if the elements of h1 and h2 represent "bits", then you could just do this:
result = (h1 ~= h2); % equivalent of xor between the elements of h1 and h2
If h1 and h2 don't have the same number of elements, then that is a different problem that you will need to fix before doing the xor operation.

  2 Comments

Greg
Greg on 30 Nov 2018
Guillaume's comment here should be a separate answer, and accepted.

Sign in to comment.

Sign in to answer this question.