How to do the xor operation?

10 views (last 30 days)
Darsana P M
Darsana P M on 19 Nov 2017
Commented: Walter Roberson on 19 Nov 2017
If suppose I have 2 inputs,
x=58 B2 43 1B C0 BE DE 02 55 0F 40 23 89 69 EC 78 (hexadecimal values)
y=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01
The answer will be:
(x xor y)= 58b2431bc0bede02550f40238969ec79
How to write the matlab code for this xor operation??

Accepted Answer

Walter Roberson
Walter Roberson on 19 Nov 2017
x = uint8(sscanf('58 B2 43 1B C0 BE DE 02 55 0F 40 23 89 69 EC 78', '%x'));
y = uint8(sscanf('00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01', '%x'));
xory = bitxor(x,y);
sprintf('%02x ', xory)
  5 Comments
Darsana P M
Darsana P M on 19 Nov 2017
I got an error, Undefined function 'bitget' for input arguments of type 'char'.
Walter Roberson
Walter Roberson on 19 Nov 2017
x = '58 B2 43 1B C0 BE DE 02 55 0F 40 23 89 69 EC 78';
y = '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01';
x_numeric = uint8(sscanf(x, '%x'));
y_numeric = uint8(sscanf(y, '%x'));
xory_numeric = bitxor(x_numeric, y_numeric);
xory_char = sprintf('%02x ', xory_numeric);
x_msb_numeric = bitget(x_numeric, 8);
x_msb_char = sprintf('%d ', x_msb_numeric);

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!