专栏首页Lauren的FPGATcl中的数学运算

Tcl中的数学运算

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

本文分享自微信公众号 - Lauren的FPGA(Lauren_FPGA),作者:Lauren Gao

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Tcl是什么?

    安装Vivado之后,在GUI界面会看到Tcl Console,在这里可以输入Tcl命令。同时,还会发现有一个所谓的“Vivado 2018.2 Tcl She...

    Lauren的FPGA
  • 命令置换

    命令置换是Tcl的第二种置换形式。该置换以方括号[]形式体现。方括号中是另外一个Tcl命令。从这个角度而言,这实际上就是命令的嵌套。命令置换会导致某一个命令的所...

    Lauren的FPGA
  • Vivado模块化综合技术概述

    尽管Vivado提供了不同的综合策略,同时用户还可根据设计需求对每种策略下的选项进行优化,形成用户策略,但毕竟这些选项是全局的,应用于所有模块的。这就意味着某些...

    Lauren的FPGA
  • JDK8中新增原子性操作类LongAccumulator

    LongAdder类是LongAccumulator的一个特例,LongAccumulator提供了比LongAdder更强大的功能,如下构造函数其中accum...

    加多
  • jQuery 动画

    jQuery动画相关方法概况 方法 说明 实例 hide()和show() 隐藏和显示 HTML 元素。 $("#hide").click(...

    静默虚空
  • LongAccumulator介绍,使用,实现原理

    LongAdder类时LongAccumulator的一个特例,LongAccumulator比LongAdder的功能更强大。例如下面的构造函数,其中accu...

    YanL
  • 干货分享 | GraphQL 数据聚合层

    先回到会议的主题,为什么会开这么一个会议?原本这个会议报名的时候希望可以控制到 100 人之内,不要超过 120 人,结果报到 250 人还爆满了,后来没有办法...

    CODING研发管理系统
  • 谈谈对Android上AspectJ使用的想法

    概念:AOP是Aspect Oriented Programming的缩写,即『面向切面编程』;切面编程,就是在你项目原有的功能基础上,通过AOP去添加新的功能...

    包子388321
  • 基于web的停车场管理系统的设计与实现

    RunWsh
  • ACM MM | 中山大学等提出HSE:基于层次语义嵌入模型的精细化物体分类

    作者:Tianshui Chen、Wenxi Wu、Yuefang Gao、Le Dong、Xiaonan Luo、Liang Lin

    机器之心

扫码关注云+社区

领取腾讯云代金券