Linux之awk内建数学函数之按位与运算、按位或运算、按位异或运算

摘要

逻辑变量之间的运算称为逻辑运算。二进制数1和0在逻辑上可以代表“真”与“假”、“是”与“否”、“有”与“无”。这种具有逻辑属性的变量就称为逻辑变量。
计算机的逻辑运算和算术的逻辑运算的主要区别是:逻辑运算是按位进行的,位与位之间不像加减运算那样有进位或借位的联系。
逻辑运算主要包括三种基本运算:逻辑加法(又称“或”运算)、逻辑乘法(又称“与”运算)和逻辑否定(又称“非”运算)。此外,“异或”运算也很有用。

[root@Legion10 ~]# echo 5 22|awk '{print $1,$2,and($1,$2),or($1,$2),xor($1,$2)}'
5 22 4 23 19
[root@Legion10 ~]# 

解析:
and:与运算,只有同为真时才为真,近似于乘法。or:或运算,只有同为假时才为假,近似于加法。xor:异或运算,相同为假,不同为真。
也就是说:真真得真(与运算),假假得假(或运算),同假异真(异或运算)。

dec         bin         |    dec         bin         |    dec         bin
5           00000101    |    5           00000101    |    5           00000101
22          00010110    |    22          00010110    |    22          00010110
-----与运算----------    |    -----或运算----------   |    ----异或运算----------
4           00000100    |    23          00010111    |    19          00010011

Linux之awk内建数学函数之按位与运算、按位或运算、按位异或运算

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

lookback

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: