0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于Tcl中的数学运算

电子工程师 来源:未知 作者:李倩 2018-09-04 10:22 次阅读

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本身提供了很多数学函数

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7604

    浏览量

    136857
  • TCL
    TCL
    +关注

    关注

    10

    文章

    1725

    浏览量

    88612
  • 数学
    +关注

    关注

    0

    文章

    99

    浏览量

    19244

原文标题:Tcl中的数学运算

文章出处:【微信号:Lauren_FPGA,微信公众号:FPGA技术驿站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    相关推荐

    用labvIEW进行复杂的数学运算的时候,有怎样的思路?

    用labvIEW进行复杂的数学运算的时候,应该具有怎样的编程思路呢?求高人指点~~~
    发表于 04-25 07:19

    求MATLAB偏微分数学运算编程,限定时间完成,有酬谢.

    求MATLAB偏微分数学运算编程,限定时间完成,有酬谢!!!求解决一MATLAB问题,有一些工作量,但是会的人不难,为数学偏微分方面,付费求助。会此方面的同志们,欢迎 加我QQ 535636992联系,可支付宝担保交易,感谢啦:)
    发表于 02-17 23:17

    数学运算时出现中断问题

    嗨,我有一个关于Dspic33F(马达控制)的工作,我的问题是我不能执行外部中断,而我的Dspic执行代码数学计算。我想削减数学计算,但我的外部中断不介入。Dspic first正
    发表于 10-23 10:53

    鼎阳示波器功能之数学运算

    F1=-C1的例子:平均值和增强分辨率平均值和增强分辨率的运算方法与采集模式的平均值和增强分辨率相同,两处的区别在于:采集模式是硬件处理,速度快,刷新率高;数学运算是软件处理,速度相对较慢,但可以
    发表于 05-10 13:37

    如何在GCC为具有FPU的Cortex M4启用硬件浮点数学运算呢?

    如何在GCC为具有FPU的Cortex M4启用硬件浮点数学运算呢?
    发表于 08-26 14:43

    基本数学运算库VHDL代码

    包括各种用VHDL语言描述的基本数学运算单元,瑞典联邦技术研究院(ETH)提供
    发表于 05-20 11:12 30次下载

    基本数学运算库 -包括各种用VHDL语言描述的基本数学运算

    基本数学运算库 包括各种用VHDL语言描述的基本数学运算单元 VHDL Library of Arithmetic Units, Version 1.0=============================== Installation:   1) U
    发表于 06-14 09:25 45次下载

    GE FANUC PLC的数学运算功能

    GE FANUC PLC 提供以下数学运算功能:一、四则运算和求余四则运算的梯形图及语法基本类似现,以加法指令为例:梯形图:注释:1.在I1 端为被加数,I2 端为加数,Q
    发表于 11-14 10:51 24次下载

    CCS及DSP基本数学运算实验

    CCS及DSP基本数学运算实验 在DSP编程过程,数以二进制,十进制,与十六制表示均可.在定点DSP的运算...在CCS使用及DSP的基本数学运算的实验
    发表于 04-06 14:10 50次下载

    基于GPU的数学形态学运算并行加速研究

    数学形态学运算是一种高度并行的运算,其计算量大而又如此广泛地应用于对实时性要求较高的诸多重要领域。为了提高数学形态学运算的速度,提出了一种基
    发表于 10-25 16:55 55次下载
    基于GPU的<b class='flag-5'>数学</b>形态<b class='flag-5'>学运算</b>并行加速研究

    简单的数学运算计算数学函数的方法CORDIC的详细资料概述

    CORDIC是在一个称为二进制搜索的循环中使用更简单的数学运算来计算数学函数的方法。最常用的CORDIC用于计算AtAN2(角度)和点的斜边(距离)。CORDIC还可以用来计算其他数学函数,如Sin和CoS。
    发表于 05-31 11:18 12次下载
    简单的<b class='flag-5'>数学运算计算数学</b>函数的方法CORDIC的详细资料概述

    数学运算在FPGA的实现方式

    FPGA以擅长高速并行数据处理而闻名,从有线/无线通信到图像处理各种DSP算法,再到现今火爆的AI应用,都离不开卷积、滤波、变换等基本的数学运算
    的头像 发表于 10-31 14:48 3090次阅读

    Python中常见的数学运算方法

    Python 是一种面向对象、解释型、交互式的高级编程语言。它支持各种数学运算,包括基本算术运算、比较运算、逻辑运算等。
    的头像 发表于 04-21 16:51 5616次阅读

    如何在FPGA中进行简单和复杂的数学运算

    由于FPGA可以对算法进行并行化,所以FPGA 非常适合在可编程逻辑实现数学运算
    发表于 05-15 11:29 3259次阅读
    如何在FPGA中进行简单和复杂的<b class='flag-5'>数学运算</b>?

    C语言中关于数学运算的相关知识

    数学运算的主要目的是进行数值计算,这其实可以衍生出很多应用,如模数/数模转换、数据处理、寻址、控制算法实现等。
    的头像 发表于 11-08 10:04 780次阅读
    C语言中<b class='flag-5'>关于</b><b class='flag-5'>数学运算</b>的相关知识