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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM