摘要:
“异或”运算是C语言中一种比较冷僻的运算,除了一些特定领域的问题(如加密、图像处理等),较少有恰当的应用场合。以至于大多数C语言书在讲到异或这个运算时,一般都干巴巴的很生硬。 日前,看到 人人校招笔试题 中的对某问题的求解,发现异或在某些特定场合有非常奇妙的、恰如其分的甚至可说是舍我其谁的应用。 人人校招笔试题 中的问题是这样的: 给定一个有序数组a,长度为len,和一个数x,判断A数组里面是否存在两个数,他们的和为x,bool judge(int *a, int len, int x),存在返回true,不存在则返回false。 这个问题并不太难,除了博主给出了代码,另有网友给出... 阅读全文