首页 > 代码库 > 用按位与、按位或、按位取反实现按位异或
用按位与、按位或、按位取反实现按位异或
我们知道,使用按位异或可以不用临时变量交换两个整型变量的值
按位异或 可以用 按位与、按位或、按位取反来模拟吗?
<html> <head> <title>js测试1</title> <script type="text/javascript"> /* a 1101=13 b 1001=9 a&b 1101 & 1001 = 1001 0的地方证明有0 a|b 1101 | 1001 = 1101 1的地方证明有1 !(a&b) = 0110 1的地方证明有0 !(a|b) = 0010 0的地方证明有1 !(a&b) & (a|b) = 0100 的地方证明不同 实现异或 */ function exchange(a , b){ alert("转换前两个数字为:" + a+","+b); a = ~(a&b) & (a|b); b = ~(a&b) & (a|b); a = ~(a&b) & (a|b); alert("转换后两个数字为:" + a+","+b); } </script> </head> <script type="text/javascript"> exchange(5,2); //alert(1 | 2); </script> <body> </body></html>
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。