Linux中Shell的算数运算符和位运算符用法笔记


640?wx_fmt=png

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


posted @   天使不哭  阅读(508)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.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#编码规范
点击右上角即可分享
微信分享提示