Wrong answer of xor operation
16 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
a=(dec2bin(13))
a=1101
b=(dec2bin(14))
b=1110
c=xor(a,b)
the answer i get is c= 0 0 0 0
which is wrong. how should i solve this problem ?
Respuestas (2)
Image Analyst
el 23 de Feb. de 2014
Try this:
% Subtract '0' to get numerical array.
a=(dec2bin(13))-'0'
b=(dec2bin(14))-'0'
% Two ways to do xor:
d1 = (a | b) & ~(a & b)
d2=xor(a,b)
5 comentarios
Image Analyst
el 23 de Feb. de 2014
Raza, subtraction of '0' turns it from a character string into an array of individual numbers to that we can use xor like you want to.
Azzi Abdelmalek
el 23 de Feb. de 2014
a and b are char, there is a difference betwenn
xor('1','0')
and
xor(1,0)
5 comentarios
John D'Errico
el 23 de Feb. de 2014
Yes, I recognize that. And thus my point. Since it is impossible to return a meaningful result, and it is likely that users, especially novices, can have problems, then an error should result. There can be no case where returning an error can be a problem for backwards compatibility, since xor never has returned anything meaningful for character input.
Ver también
Categorías
Más información sobre Data Type Conversion en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!