Linux之Bash基础特性算术运算(5)

简介:

算术运算

    算术:数学中最古老,最基础和最初等的部分.它研究数的性质及其运算.把数和数的性质,数和数之间的四则运算在应用过程中的经验积累起来,并加以整理,就形成了最古老的一门数学——算术

    算术运算:数的加、减、乘、除以及乘方开方等数学运算,区别于几何运算。


算术运算的符号

    完成基本的算术运算 (arithmetic operators) 符号,就是用来处理四则运算的符号

wKioL1mBI7aBHmC4AAFyTuNWOrY877.jpg


1)加法:同类事物的重复或累计,是数字运算的开始,不同类比如一个苹果+一个橘子其结果只能等于二个水果就存在分类与归类的关系

    公式:被加数 + 加数 = 和 (a+b=c)

2)减法:加法的逆运算;减去一个数,等于加这个数的相反数

    公式:被减数 - 减数 = 差 (a-b=c)

3)乘法:加法的特殊形式;相同的数加起来的快捷方式。其运算结果称为积。从哲学角度解析,乘法是加法的量变导致的质变结果

    公式:被乘数 * 乘数 = 积 (a*b=c)

4)除法:乘法的逆运算;根据乘法表,两个整数可以用长除法(直式除法)笔算。 如果被除数有分数部分(或者说是小数点),计算时将小数点带下来就可以;如果除数有小数点,将除数与被除数的小数点同时移位,直到除数没有小数点。

    公式:被除数÷除数=商(a÷b=c)

5)求模:取模运算(“Modulo Operation”)和取余运算(“Complementation ”)两个概念有重叠的部分但又不完全一致。主要的区别在于对负整数进行除法运算时操作不同。取模主要是用于计算机术语中。取余则更多是数学概念。

    公式:

        1.求 整数商: c = a/b;

        2.计算模或者余数: r = a - c*b.

        linux中: r=a%b (r<b)


6)水仙花数:水仙花数是指一个 n 位正整数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)。


Linux中算术运算

    将数据从内存中取到cpu的寄存器,进行运算后,存回内存中,

        存回原处: let count=$count+1

        存到另一处: let var=$count+1


    1)let命令

格式: let var=算术运算表达式

1
2
3
$ help  let
let  is a shell  builtin
let let  var=算术运算表达式
1
2
3
4
5
$ num1=3
$ num2=10
let  var=$num1+$num2
echo  $var
13


    2)变量引用实现赋值

格式:

    var=$[算术运算表达式]

    var=$((算术运算表达式))


    echo $[算术运算表达式]

    echo $((算术运算表达式))

1
2
3
$ var=$[$num2%$num1]
echo  $var
1
1
2
echo  $(($num2%$num1))
1

    

    3)命令引用实现赋值,(命令中的运算符号,*会被解释为特殊字符,需要转义)

格式: 

    var=$(expr 被操作数 运算符 操作数)

1
2
3
$ var=$( expr  $num2 \* $num1)
echo  $var
30
1
2
echo  $( expr  $num2 \* $num1)
30


bash内建随机数生成器:$RANDOM (2^31-1)

    求任意范围内的任意随机数: $A

        1) let var=$RANDOM%$A

1
2
3
4
$ A=60
let  var=$RANDOM%$A
echo  $var
58

        2) var=$[$RAMDOM%60]

1
2
3
[root@izpo45bh60h6bsz ~] # var=$[$RANDOM%60]
[root@izpo45bh60h6bsz ~] # echo $var
59

        3) var=$(($RANDOM%60))

1
2
3
[root@izpo45bh60h6bsz ~] # var=$(($RANDOM%60))
[root@izpo45bh60h6bsz ~] # echo $var
13

        4) var=$(expr $RANDOM % 60)

1
2
3
# var=$(expr $RANDOM % 60)
# echo $var
16


将变量存回原处:将变量中存储的数据取出,进行运算后,放回原处

1
2
3
4
5
6
7
[root@izpo45bh60h6bsz ~] # count=1
[root@izpo45bh60h6bsz ~] # let count=$count+1
[root@izpo45bh60h6bsz ~] # echo $count
2
[root@izpo45bh60h6bsz ~] # let count=$count+1
[root@izpo45bh60h6bsz ~] # echo $count
3

增强型赋值:将变量中存储的数据取出,进行运算后,放回原处

    符号: += -= *= /= %= ^=

    count+=1  相当于  count=$count+1

    count-=1  相当于  count=$count-1

    count*=1  相当于  count=$count*1

    ....

1
2
3
4
5
6
[root@izpo45bh60h6bsz ~] # let count+=1
[root@izpo45bh60h6bsz ~] # echo $count
4
[root@izpo45bh60h6bsz ~] # let count+=1
[root@izpo45bh60h6bsz ~] # echo $count
5

自增、自减

     count++   相当于  count+=1

    count--      相当于 count-=1

1
2
3
4
5
6
[root@izpo45bh60h6bsz ~] # let count++   #相当于let count+=1
[root@izpo45bh60h6bsz ~] # echo $count
6
[root@izpo45bh60h6bsz ~] # let count--   #相当于let count-=1  
[root@izpo45bh60h6bsz ~] # echo $count
5










本文转自 lccnx 51CTO博客,原文链接:http://blog.51cto.com/sonlich/1952897,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
Oracle Java 关系型数据库
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
如果遇到"exec format error"问题,文章建议先检查Linux操作系统是32位还是64位,并确保安装了与系统匹配的JDK版本。如果系统是64位的,但出现了错误,可能是因为下载了错误的JDK版本。文章提供了一个链接,指向Oracle官网上的JDK 17 Linux版本下载页面,并附有截图说明。
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
|
3月前
|
Unix Shell Linux
在Linux中,什么是 BASH?
在Linux中,什么是 BASH?
|
4月前
|
存储 Shell Linux
Linux|创建和使用 Bash 别名
Linux|创建和使用 Bash 别名
49 6
|
3月前
|
Shell Linux
在Linux中,哪⼀个bash内置命令能够进行数学运算?
在Linux中,哪⼀个bash内置命令能够进行数学运算?
|
3月前
|
缓存 Shell Linux
在Linux中,bash shell 中的 hash 命令有什么作用?
在Linux中,bash shell 中的 hash 命令有什么作用?
|
3月前
|
人工智能 物联网 Shell
在Linux中,BASH 和 DOS之间的区别是什么?
在Linux中,BASH 和 DOS之间的区别是什么?
|
3月前
|
Unix Shell Linux
在Linux中,什么是Bash脚本,并且如何使用它。
在Linux中,什么是Bash脚本,并且如何使用它。
|
3月前
|
Shell Linux
在Linux中,使用bash shell实现条件判断和循环结构的例子是什么样的?
在Linux中,使用bash shell实现条件判断和循环结构的例子是什么样的?
|
3月前
|
Ubuntu 搜索推荐 Shell
如何在 Linux VPS 上自定义你的 Bash 提示符
如何在 Linux VPS 上自定义你的 Bash 提示符
16 0
|
6月前
|
监控 安全 Shell
防止员工泄密的措施:在Linux环境下使用Bash脚本实现日志监控
在Linux环境下,为防止员工泄密,本文提出使用Bash脚本进行日志监控。脚本会定期检查系统日志文件,搜索敏感关键词(如&quot;password&quot;、&quot;confidential&quot;、&quot;secret&quot;),并将匹配项记录到临时日志文件。当检测到可疑活动时,脚本通过curl自动将数据POST到公司内部网站进行分析处理,增强信息安全防护。
175 0