How to do xor operation in cell arrays?

3 次查看(过去 30 天)
Suppose,
A={'d9' '31'};
B={'42' '83'};
The expected output is:
Y={'42' '83'}
My input will not be the same always. So,how can I write a useful matlab code for each inputs?
  6 个评论
Darsana P M
Darsana P M 2017-11-21
I am extremely sorry,it was my mistake. The Y result is {'9b' 'b2'}. But using those methods, I am getting a matrix value. Which is the best method for XOR operation, among all those, so that i get the required output.
Darsana P M
Darsana P M 2017-11-21
编辑:Walter Roberson 2017-11-21
I tried this method, but I got the output as a matrix. I need the answer as hexa decimal values?? What should I do?

请先登录,再进行评论。

采纳的回答

Guillaume
Guillaume 2017-11-21
If you start with a cell array of hexadecimal char arrays and want the same back:
cellfun(@(a,b) dec2hex(bitxor(hex2dec(a), hex2dec(b))), A, B, 'UniformOutput', false)
However, you would make your life easier if instead of a cell array you used a simple 2D char matrix for input and output:
A = ['d9';
'31']
B = ['42';
'83']
Y = dec2hex(bitxor(hex2dec(A), hex2dec(B)))

更多回答(1 个)

Walter Roberson
Walter Roberson 2017-11-21
Earlier, I showed you how to do the xor on character vectors. From this you can see how to do the xor operation.
Early this morning, I showed you how to do addition with cell arrays. From this you can see how to extract inputs from cell arrays of character vectors and how to output back to cell arrays.
Now just put those two operations together. Use the data import and output from the addition code and use the xor from the xor code.

类别

Help CenterFile Exchange 中查找有关 Data Type Conversion 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by