03-Tcl数学表达式及expr命令
3 Tcl书写表达式及expr命令
Tcl提供了有效的数学运算和逻辑运算功能。通过expr可以实现对数学表达式的分析和计算。
3.1 数学与逻辑运算符
| 运算符 | 说明 |
|---|---|
| - + ~ ! | 一元减(取负)、一元加(取正)、按位反、逻辑非 |
| * / % | 乘、除、取余 |
| + - | 加、减(二元操作符) |
| << >> | 左移、右移(二元操作符) |
| < <= >= > | 小于、小于等于、大于等于、大于 |
| == != | 布尔等于、不等于 |
| & | 按位与 |
| ^ | 按位异或 |
| | | 按位或 |
| && | 逻辑与 |
| || | 逻辑或 |
| x?y:z | 三元表达式,x满足为y,不满足为z |
3.2 数学函数
| 函数名 | 说明 | 举例 |
|---|---|---|
| abs(arg) | 取绝 | set a -10 # a = -10 ; set a [expr abs($a)] |
| acos(arg) | 反余弦 | |
| asin(arg) | 反正弦 | |
| atan(arg) | 反正切 | |
| atan2 | 比值取反正切 | |
| ceil(arg) | 向上取整 | |
| cos(arg) | 余弦 | |
| cosh(arg) | 双曲余弦 | |
| double(arg) | 转换双精度 | |
| exp(arg) | exp运算e的幂 | |
| floor(arg) | 向下取整,与ceil相对 | |
| fmod | 取余(结果为浮点型) | |
| hypot(x,y) | 根据直角三角形两直角边长度计算出斜边长度 | |
| int(arg) | 取整 | |
| log(arg) | 自然对数 | |
| log10(arg) | 以10为底的度数 | |
| pow | 幂运算 | |
| rand() | 取0-1之间的随机实数 | set a [expr 10*[expr rand()]] |
| round(arg) | 四舍五入取整 | set a [expr round(10.5)] |
| sin(arg) | ||
| sinh(arg) | ||
| sqrt(arg) | 求二次根 | |
| srand(arg) | 以整数arg为随机数生成器的种子产生随机数 | |
| tan(arg) | ||
| tanh(arg) |
3.3算数运算举例
set var1 5
set var2 3
set res [expr $var1 /$var2] #var1和var2都是整数结果为整数
=>1
set var1 5.0
set res [expr $var1 /$var2] # var1是浮点数,所以结果为浮点数
=>1.66666666667
set var1 3
incr var1 2 # incr a b 将b加到a上,a,b必须都是整数,
# 更改a原有的值
=>5
puts $var1
=>5
incr var1 -4 # var1加上-4,var1的值现在为1
=>1
3.4 incr命令
incr命令根据指定的步长来增加或减少参数的值。当步长为负时,减少参数值;当步长为正时,增加参数值。默认步长+1。
incr varName ?step?
set a 10
incr a
=> a=11
set a 10
incr a -1
=> a=9
03-Tcl数学表达式及expr命令的更多相关文章
- linux下数学运算器:expr命令(shell中完成数学运算)
expr用法 expr命令一般用于整数值,但也可用于字符串.一般格式为: expr argument operator argument expr也是一个手工命令行计数器. $expr 10 ...
- SHELL脚本--数学运算和bc命令
bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 使用let.(()).$(())或$[]进行基本的整数运算,使 ...
- Tcl数学运算
expr 数学表达式 Tcl支持的数学操作符(优先级按照从高到低): -一元负号 +一元正号 ~按位取反 !逻辑非 *乘 /除 %取余 +加号 -减号 <<左移位 >>右移位 ...
- linux shell let, expr 命令详解
linux命令之let.exprshell程序中的操作默认都是字符串操作,在运行数学运算符的时候可能得到意想不到的答案: var=1var=$var+1echo $var 将输出 1+1从这个例子中可 ...
- expr 命令
求表达式变量的值.expr 命令读入 Expression 参数,计算它的值,然后将结果写入到标准输出. 用法:expr Expression Expression 参数规则: 用空格隔开每个项. 用 ...
- 【转】linux expr命令参数及用法详解
在抓包过程中,查看某个设定时间内,数据上下行多少,用命令expr 计算! --------------------------------------------------------------- ...
- linux expr命令参数及用法详解
expr用法 expr命令一般用于整数值,但也可用于字符串.一般格式为: #expr argument operator argument expr也是一个手工命令行计数器. #$expr 10 + ...
- SHELL脚本--expr命令全解
bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html expr命令可以实现数值运算.数值或字符串比较.字符串匹配.字 ...
- Linux之expr命令详解
expr命令: expr命令是一个手工命令行计数器,用于在UNIX/LINUX下求表达式变量的值,一般用于整数值,也可用于字符串. –格式为: expr Expression(命令读入Expressi ...
- (转)linux expr命令参数及用法详解
linux expr命令参数及用法详解 原文:http://blog.csdn.net/tianmohust/article/details/7628694 expr用法 expr命令一般用于整数值, ...
随机推荐
- bash shell笔记整理——less命令
less命令的作用 less和cat.more最大的差别在于不会一次性加载整个文件,速度比较快!另外less具备翻页功能,可以向上/向下翻页! 语法 less [选项] [文件名] *选项* *使用说 ...
- Liunx--centos7服务器上 安装 jenkins,实现持续集成发布
1.下载并安装jenkins wget -v https://pkg.jenkins.io/redhat-stable/jenkins-2.176.3-1.1.noarch.rpmrpm -ivh j ...
- 万界星空科技仓库管理wms系统
企业在管理库存时,尤其是生产制造企业,使用传统方式比如纸笔.Excel 管理库存,由于工具和信息化存在局限,导致在管理库存时出现如下问题: 1.通过纸笔记录出入库申请,人为手动计算易出错,数据易丢 ...
- Python——第二章:基础数据类型
下面是需要掌握的知识点: int, float, bool (5星)str (5星)list (5星)tuple (2星)set (1星)dict (5星)bytes ...
- Ubuntu系统部署后优化
Ubuntu系统配置调整 前期准备 #更改主机名,重启后不变 hostnamectl set-hostname Zabbix-Server01 #更改主机名,重启后变回从前 hostname Zabb ...
- Spring MVC的生命周期与简单三大组件的简单介绍
1.说到Spring MVC就会想到它是基于MVC设计模式的思想来设计的: 那么MVC设计模式是什么呢? 下面来介绍一下 MVC 设计模式 MVC是模型(model)-视图(view)-控制器(con ...
- 无法找到模块“element-plus/dist/locale/zh-cn.mjs”的声明文件
把 zhCn 的引入 改成 下面这个就可以了 import zhCn from "element-plus/es/locale/lang/zh-cn"; 贼拉拉管用,快去试试吧 ~
- node.js 命令必须加 npx 才能执行
问题描述 在 Windows 上搭建 Hexo 环境,已经从官网下载安装 node-v18.18.2-x64.msi,并且通过 npm 命令成功安装 hexo. PowerShell 中,直接执行 h ...
- Provider 四种消费者
Provider.of Provider.of 方法是 Provider 库中最常用的获取共享数据的方法之一.它接收一个 BuildContext 对象和一个泛型类型参数 T,会查找 Widget 树 ...
- MoE:LLM终身学习的可能性
本文分享自华为云社区<DTSE Tech Talk | 第47期:MoE:LLM终身学习的可能性>,作者:华为云社区精选. 在DTSE Tech Talk的第47期直播<MoE:LL ...