运算符

Posted alog9

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运算符相关的知识,希望对你有一定的参考价值。

运算符

1 $[]等同于$(())  # $[]表示形式告诉shell求中括号中的表达式的值
2 ~var            # 按位取反运算符,把var中所有的二进制为1的变为0,为0的变为1
3 var\<<str       # 左移运算符,把var中的二进制位向左移动str位,忽略最左端移出的各位,最右端的各位上补上0值,每做一次按位左移就有var乘2
4 var>>str        # 右移运算符,把var中所有的二进制位向右移动str位,忽略最右移出的各位,最左的各位上补0,每次做一次右移就有实现var除以2
5 var&str         # 与比较运算符,var和str对应位,对于每个二进制来说,如果二都为1,结果为1.否则为0
6 var^str         # 异或运算符,比较var和str对应位,对于二进制来说如果二者互补,结果为1,否则为0
7 var|str         # 或运算符,比较var和str的对应位,对于每个二进制来说,如二都该位有一个1或都是1,结果为1,否则为0

 

运算符优先级

 1 级别      运算符                                  说明
 2  =,+=,-=,/=,%=,*=,&=,^=,|=,<<=,>>==     # 赋值运算符
 3     ||                                  # 逻辑或 前面不成功执行
 4     &&                                  # 逻辑与 前面成功后执行
 5     |                                   # 按位或
 6     ^                                   # 按异位与
 7     &                                   # 按位与
 8     ==,!=                               # 等于/不等于
 9     <=,>=,<,>                           # 大于或等于/小于或等于/大于/小于 
10    \<<,>>                               # 按位左移/按位右移 (无转意符号)
11    +,-                                 # 加减
12    *,/,%                               # 乘,除,取余
13    ! ,~                                # 逻辑非,按位取反或补码
14    -,+                                 # 正负
15     

 

数学运算

 1 $(( ))        # 整数运算
 2 + - * / **    # 分別为 "加、減、乘、除、密运算"
 3 & | ^ !       # 分別为 "AND、OR、XOR、NOT" 运算
 4 %             # 余数运算
 5 
 6 let
 7 let # 运算 
 8 let x=16/4
 9 let x=5**5
10 
11 

 

expr

 1 expr 14 % 9                    # 整数运算
 2 SUM=`expr 2 \* 3`              # 乘后结果赋值给变量
 3 LOOP=`expr $LOOP + 1`          # 增量计数(加循环即可) LOOP=0
 4 expr length "bkeep zbb"        # 计算字串长度
 5 expr substr "bkeep zbb" 4 9    # 抓取字串
 6 expr index "bkeep zbb" e       # 抓取第一个字符数字串出现的位置
 7 expr 30 / 3 / 2                # 运算符号有空格
 8 expr bkeep.doc : .*          # 模式匹配(可以使用expr通过指定冒号选项计算字符串中字符数)
 9 expr bkeep.doc : \(.*\).doc  # 在expr中可以使用字符串匹配操作,这里使用模式抽取.doc文件附属名
10  
11 数值测试
12  
13     #如果试图计算非整数,则会返回错误
14     rr=3.4
15     expr $rr + 1
16     expr: non-numeric argument
17     rr=5
18     expr $rr + 1
19  
20 

 

 

bc

1 echo "m^n"|bc            # 次方计算
2 seq -s + 1000 |bc      # 从1加到1000
3 seq 1 1000 |tr "\n" "+"|sed s/+$/\n/|bc   # 从1加到1000

 

以上是关于运算符的主要内容,如果未能解决你的问题,请参考以下文章

Python算术运算符赋值运算符关系运算符逻辑运算符条件运算符(三元运算符)

JAVA语言运算符(算数运算符赋值运算符比较运算符逻辑运算符三元运算)

python的运算符都有哪些

Java_运算符

js运算符(运算符的结合性)

R语言 运算符