数学表达式与 expr 命令
1. 数学和逻辑运算符
运算符 | 说明 |
- + ~ ! | 一元减(取负)、一元加(取正)、比特反、逻辑非 |
* / % | 乘、除、取余(二元操作符) |
+ - | 加、减(二元操作符) |
<< >> | 左移、右移(二元操作符) |
< <= > >= | 布尔小于、小于或等于、大于、大于或等于 |
== != | 布尔等、不等 |
& | 比特与 |
^ | 比特异或 |
| | 比特或 |
&& | 逻辑与 |
|| | 逻辑或 |
x ? y:z | 三重操作符:根据 x 的值( true or false)在 y 和 z 两个结果中进行选择。 x 为 true( =1)则选择 y, 否则选择 z。 |
2. 数学函数
函数名 | 说明 | 举例 |
abs(arg) | 取绝对值 | set a –10 ; set a [expr abs($a)]; |
acos(arg) | 反余弦 | set p 1.0; set a [expr acos($p); |
asin(arg) | 反正弦 | |
atan(arg) | 反正切 | |
atan2 | 比值取反正切 | |
ceil(arg) | 返回不小于 arg 值的整数值 | |
cos(arg) | 余弦 | |
cosh(arg) | 双曲余弦 | |
double(arg) | 转换双精度 | |
exp(arg) | exp 运算( e 的幂) | |
floor(arg) | ||
fmod | 取余(结果为浮点型) | |
hypot(x,y) | 根据直角三角形两直边长度计算出斜边长度 | |
int(arg) | 取整 | |
log(arg) | 自然对数 | |
log10(arg) | 以十为底的对数 | |
pow | 幂运算 | |
rand() | 取 0 到 1 之间的随机实数数(无输入参数) | set a [expr 10 * [expr rand()]];0 到 10 之间随即实数 |
3. incr 命令
incr 命令根据指定的步长来增加或减少参数的值。当步长为负时,减少参数值;当步长为正时,增加参数值。默认步长为+1。
语法:
- incr varName ?step?
示例:
-
set a 10; incr a
-
=> a = 11
-
-
set a 10; incr a -1
-
=> a = 9
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端