在Unix中,当放入数学表达式时,^会做什么

时间:2018-01-30 09:50:37

标签: unix syntax

我一直在寻找答案,但无法找到确切答案,我们将不胜感激。

echo $[ 2 ^ 2 ] 

返回值0

echo $[ 2 ^ 3 ]

返回1

echo $[ 2 ^ 4 ] 

返回6

我的问题是在这种情况下使用^时会发生什么数学运算?

我期待看到功能的力量。非常感谢任何澄清,提前谢谢。

2 个答案:

答案 0 :(得分:1)

这是bitwise XOR操作。

它比较两个数字的位,如果对于给定位置,其中一个位是1,结果位也将设置为1。在所有其他情况下,结果位将为0

所以,对于你的例子:

2    010
2    010
--------
0    000


2    010
3    011
--------
1    001


2    010
4    100
--------
6    110

答案 1 :(得分:1)

我会说,你的命令正在用数字做一点点。