Linux上整数和浮点数的运算

Posted haibiscuit

tags:

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

一:shell中对整数和浮点数的运算
    常用的运算符号
        加法+    减法 -     乘法*     除法/     求余%  
           +=        -=        *=       /=        %=
 
    1.整数的运算
 
 
      (1).使用expr命令(注意:要求操作数和操作数之间用空格隔开,否则只会打印字符串)
          
        expr 1 + 1
        expr 2 - 1
        expr 2 * 2
        expr 2 / 1  
        expr 1 % 6
 
      例如执行:#! /bin/bash
              num=$(expr 1 + 1)
              echo $num
       
       (2).使用$[]和使用$(())命令
              echo $[1+1]
              echo $[2-1]
              echo $[2*2]
              echo $[5/2];//舍弃小数
              echo $[5%2] 
              echo $[3**2]
           
           同理:num=1,num1=2;echo $((num+num1)) #这里变量中不需要用$符号
 
      2.浮点数的运算
        1.bc:一款高精度计算语言
        2.bc支持算数运算,逻辑运算,比较运算    
        3.支持批处理和以管道方式处理表达式计算    
            例:
              (1).直接在终端输入bc即可运算
 
              (2).在shell脚本中可使用如下命令:
                   num=$(echo "scale=2;2.03+2.04"|bc) #scale表示小数位数
                   echo $num
       3.关系运算(使用[],注意[]中变量要加空格)
         -eq 检测两个数是否相等,相等返回 true。                 [ $a -eq $b ] 返回 false。
         -ne 检测两个数是否相等,不相等返回 true。                 [ $a -ne $b ] 返回 true。
         -gt 检测左边的数是否大于右边的,如果是,则返回 true。         [ $a -gt $b ] 返回 false。
         -lt 检测左边的数是否小于右边的,如果是,则返回 true。         [ $a -lt $b ] 返回 true。
         -ge 检测左边的数是否大于等于右边的,如果是,则返回 true。 [ $a -ge $b ] 返回 false。
         -le 检测左边的数是否小于等于右边的,如果是,则返回 true。 [ $a -le $b ] 返回 true。
 
         例如:
        #!/bin/bash
a=10
b=20
 
if [ $a -eq $b ]
then
   echo "$a -eq $b : a 等于 b"
else
   echo "$a -eq $b: a 不等于 b"
fi
if [ $a -ne $b ]
then
   echo "$a -ne $b: a 不等于 b"
else
   echo "$a -ne $b : a 等于 b"
fi
if [ $a -gt $b ]
then
   echo "$a -gt $b: a 大于 b"
else
   echo "$a -gt $b: a 不大于 b"
fi
if [ $a -lt $b ]
then
   echo "$a -lt $b: a 小于 b"
else
   echo "$a -lt $b: a 不小于 b"
fi
if [ $a -ge $b ]
then
   echo "$a -ge $b: a 大于或等于 b"
else
   echo "$a -ge $b: a 小于 b"
fi
if [ $a -le $b ]
then
   echo "$a -le $b: a 小于或等于 b"
else
   echo "$a -le $b: a 大于 b"
fi

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

Python中整数和浮点数

Python中整数和浮点数

整数和浮点数及运算函数

整数,浮点数和布尔类型

python中的整数浮点数和布尔值

整数与浮点数