Linux中Shell的算数运算符和位运算符用法笔记
1、算數(shù)運(yùn)算符
算數(shù)運(yùn)算符主要是加、減、乘、除、余、冪等常見的算術(shù)運(yùn)算,以及加等、減等、乘等、除等、余等復(fù)合算術(shù)運(yùn)算。
注意:Shell只支持整數(shù)運(yùn)算,小數(shù)部分會舍去。一般情況下算術(shù)運(yùn)行需要個let命令一起來使用。注意除法運(yùn)算,除數(shù)不能為0。
比如:?
#常規(guī)運(yùn)算符
let 1+9?
let 20-10
let 2*5
let 9/3
let 10%4
let 2**3
#符合運(yùn)算符
x=8 x+=2 變量結(jié)果為 10,其余用法類似
2、位運(yùn)算符
位運(yùn)算是基于內(nèi)存中二進(jìn)制數(shù)據(jù)的運(yùn)算,也就是基于位的運(yùn)算。常見的位運(yùn)算有左移運(yùn)算、右移運(yùn)算、按位與、按位或、按位非、按位異或等運(yùn)算。
位元素的左移右移其實就是整數(shù)內(nèi)存中的左右移動。左移<<,右移>>.
比如十進(jìn)制4在內(nèi)存中排列如下:00000100
用法:
let "value=4<<2"
echo ${value}
輸出:16
let "value=4>>2"
echo ${value}
輸出:1
按位與運(yùn)算(&)是將兩個整數(shù)寫出二進(jìn)制形式,然后同位置相比較,只有對于位置的二進(jìn)制值都為1結(jié)果才是1,否則0.比如:8&4
00000100 #4
00001000 #8
00000000 #8&4結(jié)果 0
按位或運(yùn)算(|),將兩個整數(shù)寫出二進(jìn)制形式,然后同位置相比較,只要對應(yīng)的位置有1則結(jié)果就為1。比如:8|4
00000100 #4
00001000 #8
00001100 #8|4結(jié)果12
按異或運(yùn)算將兩個整數(shù)寫出二進(jìn)制形式,只要對應(yīng)的位置同為1或者同為1結(jié)果就是0,否則為1。比如:10^3 來說
00001010 #10
00000011 #3
00001001 #10^3 結(jié)果 9
按位非(~)有快捷的公式進(jìn)行計算 ~a 值位"-(a+1)"
比如:let "value=~8"
echo ${value}
-9
總結(jié)
以上是生活随笔為你收集整理的Linux中Shell的算数运算符和位运算符用法笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 意畅科技:亲近用户 升级服务 谋就网
- 下一篇: Linux有关Shell算数运算的用法补