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命令的更多相关文章

  1. linux下数学运算器:expr命令(shell中完成数学运算)

    expr用法  expr命令一般用于整数值,但也可用于字符串.一般格式为:  expr argument operator argument  expr也是一个手工命令行计数器.  $expr 10 ...

  2. SHELL脚本--数学运算和bc命令

    bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 使用let.(()).$(())或$[]进行基本的整数运算,使 ...

  3. Tcl数学运算

    expr 数学表达式 Tcl支持的数学操作符(优先级按照从高到低): -一元负号 +一元正号 ~按位取反 !逻辑非 *乘 /除 %取余 +加号 -减号 <<左移位 >>右移位 ...

  4. linux shell let, expr 命令详解

    linux命令之let.exprshell程序中的操作默认都是字符串操作,在运行数学运算符的时候可能得到意想不到的答案: var=1var=$var+1echo $var 将输出 1+1从这个例子中可 ...

  5. expr 命令

    求表达式变量的值.expr 命令读入 Expression 参数,计算它的值,然后将结果写入到标准输出. 用法:expr Expression Expression 参数规则: 用空格隔开每个项. 用 ...

  6. 【转】linux expr命令参数及用法详解

    在抓包过程中,查看某个设定时间内,数据上下行多少,用命令expr 计算! --------------------------------------------------------------- ...

  7. linux expr命令参数及用法详解

    expr用法 expr命令一般用于整数值,但也可用于字符串.一般格式为: #expr argument operator argument expr也是一个手工命令行计数器. #$expr 10 + ...

  8. SHELL脚本--expr命令全解

    bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html expr命令可以实现数值运算.数值或字符串比较.字符串匹配.字 ...

  9. Linux之expr命令详解

    expr命令: expr命令是一个手工命令行计数器,用于在UNIX/LINUX下求表达式变量的值,一般用于整数值,也可用于字符串. –格式为: expr Expression(命令读入Expressi ...

  10. (转)linux expr命令参数及用法详解

    linux expr命令参数及用法详解 原文:http://blog.csdn.net/tianmohust/article/details/7628694 expr用法 expr命令一般用于整数值, ...

随机推荐

  1. bash shell笔记整理——less命令

    less命令的作用 less和cat.more最大的差别在于不会一次性加载整个文件,速度比较快!另外less具备翻页功能,可以向上/向下翻页! 语法 less [选项] [文件名] *选项* *使用说 ...

  2. Liunx--centos7服务器上 安装 jenkins,实现持续集成发布

    1.下载并安装jenkins wget -v https://pkg.jenkins.io/redhat-stable/jenkins-2.176.3-1.1.noarch.rpmrpm -ivh j ...

  3. 万界星空科技仓库管理wms系统

    ​ 企业在管理库存时,尤其是生产制造企业,使用传统方式比如纸笔.Excel 管理库存,由于工具和信息化存在局限,导致在管理库存时出现如下问题: 1.通过纸笔记录出入库申请,人为手动计算易出错,数据易丢 ...

  4. Python——第二章:基础数据类型

    下面是需要掌握的知识点: int, float, bool  (5星)str   (5星)list    (5星)tuple   (2星)set     (1星)dict    (5星)bytes   ...

  5. Ubuntu系统部署后优化

    Ubuntu系统配置调整 前期准备 #更改主机名,重启后不变 hostnamectl set-hostname Zabbix-Server01 #更改主机名,重启后变回从前 hostname Zabb ...

  6. Spring MVC的生命周期与简单三大组件的简单介绍

    1.说到Spring MVC就会想到它是基于MVC设计模式的思想来设计的: 那么MVC设计模式是什么呢? 下面来介绍一下 MVC 设计模式 MVC是模型(model)-视图(view)-控制器(con ...

  7. 无法找到模块“element-plus/dist/locale/zh-cn.mjs”的声明文件

    把 zhCn 的引入 改成 下面这个就可以了 import zhCn from "element-plus/es/locale/lang/zh-cn"; 贼拉拉管用,快去试试吧 ~

  8. node.js 命令必须加 npx 才能执行

    问题描述 在 Windows 上搭建 Hexo 环境,已经从官网下载安装 node-v18.18.2-x64.msi,并且通过 npm 命令成功安装 hexo. PowerShell 中,直接执行 h ...

  9. Provider 四种消费者

    Provider.of Provider.of 方法是 Provider 库中最常用的获取共享数据的方法之一.它接收一个 BuildContext 对象和一个泛型类型参数 T,会查找 Widget 树 ...

  10. MoE:LLM终身学习的可能性

    本文分享自华为云社区<DTSE Tech Talk | 第47期:MoE:LLM终身学习的可能性>,作者:华为云社区精选. 在DTSE Tech Talk的第47期直播<MoE:LL ...