关于shell编程中逻辑运算异或的理解和实验

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于shell编程中逻辑运算异或的理解和实验相关的知识,希望对你有一定的参考价值。

shell编程中的逻辑运算,有或且非、短路运算,异或运算,我们用最简单的方式理解一下异或。

异或:^
异或的两个值,相同为假,不同为真

理解起来,两个值是指二进制的值,出现两个1或者两个0结果为假[0],出现两个不一样的值结果为[1]。

例如:

十进制 二进制
10 01010
22 10110
异或结果 28 11100

那异或在shell编程中如何体现价值呢?下面的实验可以用在临时变量里面。

#利用临时变量将a b进行互换值
[[email protected] ~]#a=6
[[email protected] ~]#b=8
[[email protected] ~]#tmp=$a
[[email protected] ~]#a=$b
[[email protected] ~]#b=$tmp
[[email protected] ~]#echo $a $b
8 6

[[email protected] ~]#b=8
[[email protected] ~]#a=6
[[email protected] ~]#a=$[a^b]

#此时的a^b按照二进制运算,则结果为如下计算结果
0110 6
1000 8
1110 14

[[email protected] ~]#echo $a $b
14 8
[[email protected] ~]#b=$[a^b]

#此时的a^b按照二进制运算,则结果为如下计算结果
1110 14
1000 8
0110 6

[[email protected] ~]#echo $a $b
14 6
[[email protected] ~]#a=$[a^b]

#此时的a^b按照二进制运算,则结果为如下计算结果
1110 14
0110 6
1000 8

[[email protected] ~]#echo $a $b
8 6

以上是关于关于shell编程中逻辑运算异或的理解和实验的主要内容,如果未能解决你的问题,请参考以下文章

感受异或的神奇~转载

C++中异或的使用例题?

单身狗(异或运算)

位运算之异或运算

异或运算的作用

关于异或^的用法