请帮我讲解一下C语言中的异或运算
与其它语言不同,C语言和C++语言的异或不用xor,而是用“^”,键入方式为Shift+6。(而其它语言的“^”一般表示乘方)若需要交换两个变量的值,除了通常使用的借用中...
与其它语言不同,C语言和C++语言的异或不用xor,而是用“^”,键入方式为Shift+6。(而其它语言的“^”一般表示乘方) 若需要交换两个变量的值,除了通常使用的借用中间变量进行交换外,还可以利用异或,仅使用两个变量进行交换,如: 1 2 3 a=a^b; b=b^a; a=a^b; 详解: 1 2 3 a1=a^b b=a1^b a=a1^b=a1^(a1^b)=a1^a1^b=b 集合: 1 a=a^b^(b=a); 这样就完成了a与b的交换。 综上:同一变量与另一变量和其异或值异或等于自身。 用例:可使用于加密算法某一环节或更多环节,使算法更复杂,不易被破解,安全性更高
展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询