tcl中的数学运算,即便是很简单的两个数相加,都要用到命令expr,看下面这个例子。在这个例子中,计算x1与x2之和时通过expr命令实现。可以看到如果直接写{$x1 + $x2},给变量y1赋值,此时,tcl解释器把它们当作字符串处理,并不会完成相应的计算。但如果对变量y1使用expr命令,则可得到预期结果。
expr命令所支持的计算操作符是c语言中操作符的一个子集,并且写法、优先级也和c语言中的完全一致,包括基本计算符(加、减、乘、除、取余)、关系运算符、逻辑运算符、移位运算符、按位逻辑运算符和三重运算符。除了数学计算操作符之外,expr还支持字符串的比较操作。这里不再罗列这些运算符的含义和使用方法,只给出一些简单的例子。
这里特别强调一下,使用除法操作符时应注意,如果两个操作数均为整数,那么结果仍然是整数。只要有一个是浮点数,那么结果就是浮点数。看下面这个例子。时钟周期为3ns,对应频率为333.33mhz。1/$period的结果为0,但1.0/$period和1/double($period)的结果就不是0。
tcl本身还提供了许多数学函数,包括取整函数(ceil, floor, round等)、三角函数、反三角函数、对数函数和指数函数等。这里不再一一罗列,只给出一些例子。
最后,介绍一个新的命令incr,这个命令在描述for循环时会经常用到。该命令根据指定的步长来增加或减少参数的值。当步长为负时,减少参数值;当步长为正时,增加参数值。默认步长为+1。另外,incr后面直接跟变量名,并不需要变量置换符$,这也是很多初学者容易疏忽的地方。看下面这个例子。
结论:
-在tcl中执行数学运算必须使用expr命令
-tcl中的操作符与c语言保持一致
-tcl本身提供了很多数学函数
5G让AI的潜能充分发挥
智能制造和工业4.0如何塑造供应链?
JLSemi景略半导体发布 BlueWhale™ 全新一代交换机芯片技术平台
麦格纳新一代前置摄像头模块Gen5震撼来袭!
LED高效可靠性及长寿命的关键
关于Tcl中的数学运算
紫光展锐明年量产6纳米5G芯片手机 同时推出一系列5G产品
AMD Zen3将登场,业内需求高涨
围绕电动汽车快充的市场争夺战号角已经吹响!
电位器的工作原理及主要参数
基于蓝牙控制Arduino心情灯的电路图设计
高校赋能 | 先楫与南京航空航天大学战略联合启航
人工智能与实体经济想要融合还需要做什么
ADIS16365 惯性传感器,具有更快响应时间和更低功耗
FAT32、exFAT与NTFS分别是什么?
资讯:华为5G手机Q1国内市占率55.4% 出货量累计1500万
打游戏的手机选哪个,rog3助你获得更佳的游戏体验
苹果正在开发两款MagSafe移动电源
特朗普卸任后,Facebook仍不会更改其帖子的审核
PCB基础知识