Linux中Shell的算数运算符和位运算符用法笔记
1、算数运算符
算数运算符主要是加、减、乘、除、余、幂等常见的算术运算,以及加等、减等、乘等、除等、余等复合算术运算。
注意:Shell只支持整数运算,小数部分会舍去。一般情况下算术运行需要个let命令一起来使用。注意除法运算,除数不能为0。
比如:
#常规运算符
let 1+9
let 20-10
let 2*5
let 9/3
let 10%4
let 2**3
#符合运算符
x=8 x+=2 变量结果为 10,其余用法类似
2、位运算符
位运算是基于内存中二进制数据的运算,也就是基于位的运算。常见的位运算有左移运算、右移运算、按位与、按位或、按位非、按位异或等运算。
位元素的左移右移其实就是整数内存中的左右移动。左移<<,右移>>.
比如十进制4在内存中排列如下:00000100
用法:
let "value=4<<2"
echo ${value}
输出:16
let "value=4>>2"
echo ${value}
输出:1
按位与运算(&)是将两个整数写出二进制形式,然后同位置相比较,只有对于位置的二进制值都为1结果才是1,否则0.比如:8&4
00000100 #4
00001000 #8
00000000 #8&4结果 0
按位或运算(|),将两个整数写出二进制形式,然后同位置相比较,只要对应的位置有1则结果就为1。比如:8|4
00000100 #4
00001000 #8
00001100 #8|4结果12
按异或运算将两个整数写出二进制形式,只要对应的位置同为1或者同为1结果就是0,否则为1。比如:10^3 来说
00001010 #10
00000011 #3
00001001 #10^3 结果 9
按位非(~)有快捷的公式进行计算 ~a 值位"-(a+1)"
比如:let "value=~8"
echo ${value}
-9
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2018-05-16 如何写出安全的API接口
2018-05-16 如何写出安全的API接口
2018-05-16 如何写出安全的API接口
2017-05-16 C#编码规范