问题:只使用位级和逻辑运算,编写一个C表达式,它等价于x==y。即,x和y相等时返回1,否则返回0。
解答:
!(x^y)。
x与y相等时,返回1。而我们知道,当x==~y时,x^y是等于1的;当x==y时,x^y是等于0的。也就是说
x==y时返回0,x!=y时返回1,所以只要在前面加上非(!)即可。
问题:只使用位级和逻辑运算,编写一个C表达式,它等价于x==y。即,x和y相等时返回1,否则返回0。
解答:
!(x^y)。
x与y相等时,返回1。而我们知道,当x==~y时,x^y是等于1的;当x==y时,x^y是等于0的。也就是说
x==y时返回0,x!=y时返回1,所以只要在前面加上非(!)即可。