小白勿进,高效解答二进制数“多异或

在数学中异或和同或常用于命题的判断,而在计算机中则常用于二进制数之间的运算,

异或运算

====

关于异或运算有以下的规定:

0⊕0=0 0同0异或,结果为0

0⊕1=1 0同1异或,结果为1

1⊕0=1 1同0异或,结果为1

1⊕1=0 1同1异或,结果为0

即两个逻辑变量相异,输出才为1

也可以用两句话表示:“异为1,同为0

多异或连续运算

=======

而在计算机网络中真正对其进行使用的时候,两个二进制数之间的简单异或运算并不多见,更多的则是多异或连续运算。

首先看几个多异或连续运算的式子:

1⊕0⊕1⊕1⊕1=0

1⊕0⊕1⊕0⊕1=1

0⊕0⊕1⊕0=1

0⊕1⊕1⊕0=0

关于这种多异或连续运算,通常的思路是:

多个异或连续运算,就类似数学上的连加、连乘运算:将前两个数的运算结果,与第三个数继续运算;再将结果与第四个运算;直到最后得出结果,其中的每一步都要按照相应运算的规则进行;

但是也还有另外一种比较简单的判断方法:

多个命题(或命题变量)的“异或”运算:其结果依赖于参与运算的所有量中,取值为“真(1)”的量的“个数”的“奇偶性”:

若含“奇数”个“真命题(1)”,则结果为“真(1)”;

若含“偶数”个“真命题(1)”,则结果为“假(0)”;(注:零个也是偶数个)

所以这样看来,上面的式子中:

第一个有偶数个“1”则结果为“0”,

第二个有奇数个“1”则结果为“1”,

换句话说:命题表达式 A⊕B⊕C⊕D 结果为“真”,当且仅当 A、B、C、D 中有奇数个(即 1 个或 3 个)变量的取值为“真”;

**而至于其中“假命题”的个数,则对结果“无任何影响”。**关于这一点的证明,可以从下面两个恒等式中找到思路:

p ⊕ 1 = 非p;——增加一个“真命题”参与运算,总会将“原命题”变成其“反命题”;

p ⊕ 0 = p;——增加一个“假命题”参与运算,对“原命题”永远没影响;

同或运算

====

关于同或运算有以下几点要注意:

1.“同或”是一个数学运算符,应用于逻辑运算。 其运算法则为a同或b=ab+a‘b’(a’为非a)。

真“同或”假的结果是假,假“同或”真的结果也是假,真“同或”真的结果是真,假“同或”假的结果是真。

换句话说就是:两个值相同,则同或结果为真。反之,为假。——简称同真,异假。即,同或:相同为一,不同为零。

2. 同或符号为⊙。(圆圈内为点)

3. 同或和异或互为非运算。

4. 同或公式:

a⊙b=ab+a’b’(a’为非a,b’为非b);

5. 同或真值表

a

b

a⊙b

0

0

1

1

1

1

0

1

0

1

0

0

最后

这份文档从构建一个键值数据库的关键架构入手,不仅带你建立起全局观,还帮你迅速抓住核心主线。除此之外,还会具体讲解数据结构、线程模型、网络框架、持久化、主从同步和切片集群等,帮你搞懂底层原理。相信这对于所有层次的Redis使用者都是一份非常完美的教程了。

image

快速入手通道:(戳这里,免费下载)诚意满满!!!

整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~

你的支持,我的动力;祝各位前程似锦,offer不断!!!

中…(img-LFSZ12lQ-1628320194913)]

快速入手通道:(戳这里,免费下载)诚意满满!!!

整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~

你的支持,我的动力;祝各位前程似锦,offer不断!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值