位运算:XOR异或_g=a(b⊕c)_微观尽头的博客-程序员秘密

技术标签: 数学基础  

 

规则:

如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。

a⊕b = (¬a ∧ b) ∨ (a ∧¬b)

 

数学符号:⊕

英文简称:xor

程序符号:^

 

运算法则:

1. a ⊕ a = 0

2. a ⊕ b = b ⊕ a

3. a ⊕b ⊕ c = a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c;

4. d = a ⊕ b ⊕ c 可以推出 a = d ⊕ b ⊕ c.

5. a ⊕ b ⊕ a = b.

6.若x是二进制数0101,y是二进制数1011;

则x⊕y=1110

 

 

应用:

基于法则5,用位运算实现数组元素交换:

private static void exchange(int[] arr, int x, int y) {
        arr[x] = arr[x] ^ arr[y];
        arr[y] = arr[x] ^ arr[y];
        arr[x] = arr[x] ^ arr[y];
    }

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/huangdingsheng/article/details/105490250

智能推荐

手把手教你实现一个Butterknife_butterknife jdk16_努力的小码农 Day_Day_Up的博客-程序员秘密

相信从事Android开发的同学们,平时肯定没少写过findViewById的代码,自从Jake Wharton大神出了一个Butterknife框架后,很多人就开始使用这个,利用Android Studio的插件,一键生成,帮我们节省了不少时间和重复代码。说实话,这个框架刚出来的时候,由于对这个不了解,总觉得会影响性能,一直没有使用,当慢慢熟悉他的原理时候,用着真香。其实在这个Butterknife之前,xUtils3也有自动绑定view的框架,不过他是使用的java 反射会影响性能,后面慢慢的很多开..

hibernate jpa_JPAHibernate替代方案。 如果JPA或Hibernate对于我的项目而言不够好,该怎么办?..._dnc8371的博客-程序员秘密

hibernate jpa 你好!你好吗? 今天我们将讨论不建议使用JPA / Hibernate的情况。 在JPA领域之外,我们还有哪些选择? 我们将谈论的是: JPA /Hibernate问题 解决一些JPA /Hibernate问题的方法 选择此处描述的框架的标准 Spring JDBC模板 MyBatis 索莫拉 sql2o 看看:jOOQ和Ava...

如何映射域名和IP地址_ctk87443的博客-程序员秘密

假设我要让局域网用户通过www.test.com来访问172.18.100.10上的WEB应用。如果是生产系统需要买域名。如果是测试用可以有2种方法: 一种是在局域网内的DNS解析服务器上加入www.test.com和你主机IP...

DB2 SQLSTATE 消息 (一)_cybertony的博客-程序员秘密

[size=medium][/size]本节列示 SQLSTATE 及其含义。SQLSTATE 是按类代码进行分组的;对于子代码,请参阅相应的表。表 2. SQLSTATE 类代码 类 代码 含义 要获得子代码, 参阅... 00 完全成功完成 表 3 01 警告 表 4 02 无数据 表 5 07 动态 SQL 错误 表 6 08 连接异常 表 7 0...

android 屏蔽 home 2_superXX07的博客-程序员秘密

引用:http://wen742538485.iteye.com/blog/1593820屏掉按键比较容易,如下:@Override public boolean dispatchKeyEvent(KeyEvent event) { // 返回true,不响应其他key return true; }屏掉HOME的方法两种,一种是通用方法:p...

随便推点

MeidaPlayer音效测试用例_movie vs music 音场测试用例_xuie0000的博客-程序员秘密

本示例测试包括重低音(BassBoost)、环绕音(Virtualizer)、均衡器(Equalizer)和混响(EnvironmentalReverb),不包括视图(Visualizer),因为我发现前面4个网上都没有找到像样的用法,所以在这写篇博文。音效起作用条件得到audio session ID进行初始化使能设置音效范围这些数据都可以在源码里看到,在这里也列举一下BassBoos

越过GFW,使用JavaMail通过Gmail发送邮件_chouqin3721的博客-程序员秘密

一直使用网易邮箱来做邮件的发送测试,用JavaMail发送邮件需要使用网易邮箱的授权码,但今天QA跑过来说国外的邮箱没有授权码的概念。查了一下,果然,比如Gmail就是直接使用登录密码的。 代码参考了:https://blog.csdn.net/licl19870605/article/de...

element清空单个输入框_element-ui 输入框清除 图标_kingdompeak1的博客-程序员秘密

起因:在项目中改变选择下拉框的值时,重置旁边的输入框,如下图。但由于输入框具有验证规则(trigger:change),若只是简单的将其值置为null或“”,就会触发验证。解决办法:在element中有对于表单进行重置的方法{this.$refs[表单名].resetFields()},为了达到重置的效果,可以对单个框进行重置,进入element-ui查看源码,在webstorm中ct

地图开发--逆地理编码regeocoding_请叫我秀才的博客-程序员秘密

应“远才科技公司”需求,开发一个将在服务器上将gps坐标转换成地理名(主要是坐标的道路名)的功能,也就是逆地理编码的功能。网上很容易找到JS版本的逆地理编码程序,百度、阿里都是现在的例子、网页源代码可以看。可要是不通过JS、网页方式逆地理编码,就要花点心思去找找了。经过一阵子的百度、谷歌,没有现成的材料。在比较各大地图API时发现,阿里地图API说明极少,显得好可怜,百度地图有正儿八经的文档,

js统计元素个数_一剑平江湖的博客-程序员秘密

http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 无标题文档 var elementName = ""; //全局变量,保存Element标记名,使用完毕要清空 function

python求零点极点增益_传递函数的零点、极点怎么解释,有什么用?_weixin_39846089的博客-程序员秘密

我们来看张图:一个R和一个C,便构成了一个最基本的极点。它的传输函数如图所示,是1/(1+RCS).因为s等于j,所以这里的RC造成了一个左半平面的极点:。等等!现实中怎么会有负数的频率呢?所以,如果input signal里面有这样一个等于1/RC的频率(如果是以Hz为单位,应该除以),那么会发生什么事情呢?将带入上面的传输函数,这个传输函数的amplitude response就变成了.哦!原...

推荐文章

热门文章

相关标签