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

原文地址:https://www.cnblogs.com/haibiscuit/p/10447702.html

时间: 2024-07-30 14:48:20

Linux上整数和浮点数的运算的相关文章

整数和浮点数及运算函数

整数有4种进制表示形式: 十进制 二进制,以0b或0B开头 八进制,以0o或0O开头 十六进制,以0x或0X开头 浮点数 浮点数之间运算存在不确定尾数,不是bug 0.1+0.2=0.30000000000000004 所以浮点数间运算与比较用round()函数来辅助 round(x, d):对x四舍五入,d是保留的小数位数 round(0.1+0.2, 1)==0.3返回True 不过要注意round的一些限制,具体可以参考这个链接: Python 中关于 round 函数的小坑 浮点数科学计

Python 整数和浮点数运算

和数学运算不同的地方是,Python的整数运算结果仍然是整数,浮点数运算结果仍然是浮点数:1 + 2 # ==> 整数 31.0 + 2.0 # ==> 浮点数 3.0 整数和浮点数混合运算的结果就变成浮点数了:1 + 2.0 # ==> 浮点数 3.0 为什么要区分整数运算和浮点数运算呢?这是因为整数运算的结果永远是精确的,而浮点数运算的结果不一定精确,因为计算机内存再大,也无法精确表示出无限循环小数,比如 0.1 换成二进制表示就是无限循环小数.

Python中整数和浮点数

Python支持对整数和浮点数直接进行四则混合运算,运算规则和数学上的四则运算规则完全一致. 基本的运算: 1 + 2 + 3 # ==> 6 4 * 5 - 6 # ==> 14 7.5 / 8 + 2.1 # ==> 3.0375 使用括号可以提升优先级,这和数学运算完全一致,注意只能使用小括号,但是括号可以嵌套很多层: (1 + 2) * 3 # ==> 9 (2.2 + 3.3) / (1.5 * (9 - 0.3)) # ==> 0.4214559386973180

python 整数和浮点数

整数和浮点数 Python支持对整数和浮点数直接进行四则混合运算,运算规则和数学上的四则运算规则完全一致. 基本的运算: 1 + 2 + 3 # ==> 6 4 * 5 - 6 # ==> 14 7.5 / 8 + 2.1 # ==> 3.0375 使用括号可以提升优先级,这和数学运算完全一致,注意只能使用小括号,但是括号可以嵌套很多层: (1 + 2) * 3 # ==> 9 (2.2 + 3.3) / (1.5 * (9 - 0.3)) # ==> 0.421455938

Python 入门(三)整数和浮点数+布尔类型

整数和浮点数 Python支持对整数和浮点数直接进行四则混合运算,运算规则和数学上的四则运算规则完全一致. 基本的运算: 1 + 2 + 3 # ==> 6 4 * 5 - 6 # ==> 14 7.5 / 8 + 2.1 # ==> 3.0375 使用括号可以提升优先级,这和数学运算完全一致,注意只能使用小括号,但是括号可以嵌套很多层: (1 + 2) * 3 # ==> 9 (2.2 + 3.3) / (1.5 * (9 - 0.3)) # ==> 0.421455938

Java第二课:整数、浮点数

浮点数 带小数点的数.浮点这个词的本意就是指小数点是浮动的,是计算机内部表达非整数(包含分数和无理数)的一种方式.另一种方式叫做定点数,不过在Java中不会遇到定点数.人们借用浮点数这个词来表达所有带小数点的数. 当浮点数和整数放到一起运算时,Java会将整数转换成浮点数,然后进行浮点数的运算. 通常用double来表示浮点数的类型 浮点数计算是有误差的,当我们需要用精确的计算时,还是要用整数. 整数类型不能表达有小数部分的数.计算机里会有纯粹的整数这种奇怪的东西,是因为整数的运算比较快,而且占

整数与浮点数

Python支持对整数和浮点数直接进行四则混合运算,运算规则和数学上的四则运算规则完全一致. 基本的运算: 1 + 2 + 3 # ==> 6 4 * 5 - 6 # ==> 14 7.5 / 8 + 2.1 # ==> 3.0375 使用括号可以提升优先级,这和数学运算完全一致,注意只能使用小括号,但是括号可以嵌套很多层: (1 + 2) * 3 # ==> 9 (2.2 + 3.3) / (1.5 * (9 - 0.3)) # ==> 0.4214559386973180

泊学Swift系列之Swift Up and Running——整数和浮点数

Swift Up and Running——整数和浮点数 泊学原文 泊学技法视频 Swift里,数字分为整数(例如:1 / 10 / 100/ 1000等)和浮点数(例如:3.14 / 1.44 / 2.71等).我们先来看整数. 整数 - Int & UInt 根据一个整数变量占据的内容空间(8 / 16 / 32 / 64-bit)以及整数是否带有符号(Unsinged),Swift一共定义了8种不同的整数类型: Int8 Int16 Int32 Int64 UInt8 UInt16 UIn

JS/PHP 浮点数精确运算

php浮点数精确运算 bc是Binary Calculator的缩写.bc*函数的参数都是操作数加上一个可选的 [int scale],比如string bcadd(string $left_operand, string $right_operand[, int $scale]),如果scale没有提供,就用bcscale的缺省值.这里大数直接用一个由0-9组成的string表示,计算结果返回的也是一个 string. bcadd — 将两个高精度数字相加bccomp — 比较两个高精度数字,