



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
TCL基础教程(3)数学计算 对于TCL来说,其实并没有自己的数学运算方法,而是使用了C的计算功能,在TCL进行计算的时候,使用expr来调用如expr 7.2/4ppcornlocalhost ppcorn$ cat math1.tcl #!/usr/bin/tclshset value expr 7.2/4puts $valueppcornlocalhost ppcorn$ ./math1.tcl 1.8上面的程序计算了7.2除以4的结果为1.8,请特别注意中括号的用法,它表示括号内内容的值。此方法以后我们会频繁的用到。在这个程序中,就是把1.8赋值给value,然后输出value的值。再看一个程序ppcornlocalhost ppcorn$ cat math2.tcl #!/usr/bin/tclshset value expr 5/4puts $valueset value1 expr 5.0/4puts $value1value和value1分别得到的值是多少?可能有人会脱口而出,都是1.25,那么看一下实际效果呢?ppcornlocalhost ppcorn$ ./math2.tcl 11.25或许有人会觉得奇怪,为什么呢?这就是因为expr在计算的时候,会认为5是整数类型,4也是整数类型,自然结果就是整数类型,为1,而5.0是浮点数类型,4是整数类型,这样计算的结果取精确度高的,为浮点数,于是得到了1.25。那么如何让两个整数相除得到一个浮点数呢?总不能总是在整数后面加0吧?对的,在TCL中提供了内置的double方法,完成从整数到浮点数的转换。ppcornlocalhost ppcorn$ cat math3.tcl #!/usr/bin/tclshset value expr double(5)/4puts $valueset value1 expr 5.0/4puts $value1ppcornlocalhost ppcorn$ ./math3.tcl 1.251.25记住,千万不要写成了double(5/4)了,这样会先计算5/4得到了1的结果,然后变为浮点数,也就是1.0而已。此外,对于无穷小数,TCL标准输出为12位有效数字,对于一般计算来说足够了。如果觉得不够,我们可以使用内置的变量tcl_precison来控制精度,不过纵然使用了tcl_precison,最高也只能设置为17。ppcornlocalhost ppcorn$ cat math4.tcl #!/usr/bin/tclshset value expr 1.0/3puts $valueset tcl_precision 17set value1 expr 1.0/3puts $value1ppcornlocalhost ppcorn$ ./math4.tcl 0.3333333333330.33333333333333331可以看到上例中,从0开始到最后一个3,恰好为17位,第18位1为无效。那么TCL中究竟支持哪些运算符,又有哪些内置函数呢?下面一一列出。表格二:TCL中的算术操作符操作符说明- !一元负,逐位非,逻辑非* / %乘,除,取余+ -加,减左移位,右移位 =小于,大于,小于等于,大于等于= !=等于,不等于&逐位与逐位异或|逐位或&逻辑与|逻辑或x?y:z如果x为真则计算y,否则计算z限于篇幅,我在这里就不细致介绍各个操作符的用法了,有兴趣的自己研究。需要说明其中逐位操作符都是对单个条件操作的,逻辑操作符都是对两个条件操作的,如果这里不明白的话,请参考任何一本较为详细的编程资料。表格三 TCL内建数学函数函数说明acos(x)x的反余弦asin(x)x的正余弦atan(x)x的反正切atan2(y,x)直角坐标(x,y)转化为极坐标(r,th),atan2给出的thceil(x)大于或等于x的最小整数cos(x)x的余弦cosh(x)x的双曲余弦exp(x)指数,e的x次方floor(x)小于或等于x的最大值fmod(x,y)x/y的浮点余数hypot(x,y)返回sqrt(x*x+y*y)也就是极坐标的rlog(x)x的自然对数log10(x)x以10为低的对数pow(x,y)x的y次方sin(x)x的正弦sinh(x)x的双曲正弦sqrt(x)x的平方根tan(x)x的正切tanh(x)x的双曲正切abs(x)x的绝对值double(x)将x转浮点数int
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川省遂宁市本年度(2025)小学一年级数学部编版综合练习((上下)学期)试卷及答案
- 解答护士实习过程中遇到的问题试题及答案
- 西医临床考试医患关系理解问题试题及答案
- 酒瓶心理测试题及答案
- 认真总结备考过程2024年信息系统项目管理师试题及答案
- 飞跃训练测试题及答案
- 药物疗效的评估与验证方法试题及答案
- 血液学相关考试试题及答案
- 高效备战的初级会计师试题及答案
- 聚焦未来的公共卫生执业医师考试试题及答案
- 四川省达州市普通高中2025届第二次诊断性测试物理试题及答案
- 2025年广东省深圳市21校初三一模英语试题及答案
- 2025年河南交通职业技术学院单招职业适应性测试题库带答案
- 关于纳粹德国元首希特勒的历史资料课件
- 【MOOC】软件安全之恶意代码机理与防护-武汉大学 中国大学慕课MOOC答案
- 体重管理健康科普教育
- 2023-2024学年福建省厦门一中七年级(下)期中数学试卷(含解析)
- 志愿服务证明(多模板)
- (高清正版)JJF 1908-2021 双金属温度计校准规范
- 测量成果验收单
- 毕业设计(论文)-助力式下肢外骨骼机器人的结构设计
评论
0/150
提交评论