zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    ubuntu安装Sogou输入法失败
    二进制转换与此平台上的长模式不兼容
    thinkpad e570 如何进入bios
    计算beta分布并画图(1)
    python利用pandas和xlrd读取excel,特征筛选列
    python利用jieba进行中文分词去停用词
    python利用heapq实现小顶堆(查找最大的N个元素)
    python根据索引删除内容并写入文本
    [Water]UVA 11792 Commando War
    [最大子序列和]Hdu 5280 Senior's Array
  • 原文地址:https://www.cnblogs.com/haibiscuit/p/10447702.html
Copyright © 2011-2022 走看看