宏程序变量运算规则

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介: 宏程序变量运算规则

正文


对宏程序中的变量可以可以进行算术运算和逻辑运算。


1. 算术运算


   可以进行加、减、乘、除运算。运算功能和格式如表12-3所示。

举例:G00X[#1+#2]

X坐标的值是变量1与变量2之和。


2. 三角函数计算


对宏程序中的变量可进行正弦(SIN)、反正弦(ASIN)、余弦(COS)、反余弦(ACOS)、正切(TAN)、反正切(ATAN)函数运算。三角函数中的角度以度为单位。运算功能和格式如表12-3所示。

表12-3  变量运算功能表

类型

功能

格式

举例

备注

加法

#i=#j+#k

#1=#2+#3

常数可以代替变量

减法

#i=#j-#k

#1=#2-#3

乘法

#i=#j*#k

#1=#2*#3

除法

#I=#j*#k

#1=#2/#3

正弦

#i=SIN[#j]

#1=SIN[#2]

角度以度指定35°30’

表示为35.5

常数可以代替变量

反正弦

#i=ASI[#j]

#1=ASIN[#2]

余弦

#i=COS[#j]

#1=COS[#2]

反余弦

#i=ACOS[#j]

#1=ACOS[#2]

正切

#i=TAN[#j]

#1=TAN[#2]

反正切

#i=ATAN[#j]

#1=ATAN[#2]

平方根

#i=SQRT[#j]

#1=SQRT[#2]

常数可以代替变量

绝对值

#i=ABS[#j]

#1=ABS[#2]

舍入

#i=ROUN[#j]

#1=ROUN[#2]

上取整

#i=FIX[#j]

#1=FIX[#2]

下取整

#i=FUP[#j]

#1=FUP[#2]

自然对数

#i=LN[#j]

#1=LN[#2]

指数对数

#i=EXP[#j]

#1=EXP[#2]

逻辑

运算

#i=#jAND#k

#1=#2AND#2

按位运算

#i=#j OR #k

#1=#2OR#2

异或

#i=#j XOR #k

#1=#2XOR#2

转换运算

BCD转BIN

#i=BIN[#j]

#1=BIN[#2]


BIN转BCD

#i=BCD[#j]

#1=BCD[#2]

对于反反正弦(ASIN)取值范围如下:

   当参数(No.6004#0)NAT位设为0时:270°~90°

   当参数(No.6004#0)NAT位设为1时:-90°~90°

   当#j超出-1~1时发出P/S报警No.111。

对于反余弦(ACOS)的取值范围如下:

   取值范围180°~0°

   当#j超出-1~1时发出P/S报警No.111。

对于反正切(ATAN)的取值范围如下:

   当参数(No.6004#0)NAT位设为0时:0°~360°

   当参数(No.6004#0)NAT位设为1时:-180°~180°


3. 其它函数计算


对宏程序中的变量还可以进行平方根(SQRT)、绝对值(ABS)、舍入(ROUN)、上取整(FIX)、下取整(FUP)、自然对数(LN)、指数(EXP)运算。运算功能和格式如表12-3所示。

向上取整:比自己大的最小整数;

向下取整:比自己小的最大整数;

对于自然对数LN[#j],相对误差可能大于10-8。当#j≤0时,发出P/S报警No.111。

对于批数函数EXP[#j],相对误差可能大于10-8。当运算结果大于3。65×1047(j大约110)时,出现溢出并发出P/S报警No.111。

对于取整函数ROUN[#j],根据最小设定单位四舍五入。

例如,假设最小设定单位为1/1000mm,#1=1.2345,则#2=ROUN[#1]的值是1.0。

对于上取整FIF[#j],绝对值值大于原数的绝对值。对于下取整FUP绝对值小于原数的绝对值。

例如,假设#1=1.2,则#2=FIX[#1]的值是2.0。

     假设#1=1.2,则#2=FUP[#1]的值是1.0。

     假设#1=-1.2,则#2=FIX[#1]的值是-2.0。

     假设#1=-1.2,则#2=FUP[#1]的值是-1.0。


4. 逻辑运算


对宏程序中的变量可进行与、或、异或逻辑运算。逻辑运算是按位进行。运算功能和格式如表12-3所示。


5. 数制转换


变量可以在BCD码与二进制之间转换。


6. 关系运算


   由关系运算符和变量(或表达式)组成表达式。系统中使用的关系运算符如下。

   (1)等于(EQ)

用EQ与两个变量(或表达式)组成表达式,当运算符EQ两边的变量(或表达式)相等时,表达式的值为真,否则为假。

例如,#1EQ#2,当#1与#2相等时,表达式的值为真。

   (2)不等于(NE)

用NE与两个变量或表达式组成表达式,当运算符NE两边的变量(或表达式)不相等时,表达式的值为真,否则为假。

例如,#1NE#2,当#1与#2不相等时,表达式的值为真。

   (3)大于等于(GE)

用GE与两个变量或表达式组成表达式,当左边的变量(或表达式)大于或等于右边的变量(或表达式)时,表达式的值为真,否则为假。

例如,#1GE#2,当#1大于或等于#2时,表达式的值为真。否则为假。

   (4)大于(GT)

用GT与两个变量或表达式组成表达式,当左边的变量(或表达式)大于右边的变量(或表达式)时,表达式的值为真,否则为假。

例如,#1GT#2,当#1大于#2时,表达式的值为真。否则为假。

   (5)小于等于(LE)

用LE与两个变量或表达式组成表达式,当左边的变量(或表达式)小于或等于右边的变量(或表达式)时,表达式的值为真,否则为假。

例如,#1LE#2,当#1小于或等于#2时,表达式的值为真。否则为假。

   (6)小于(LT)

用LT与两个变量或表达式组成表达式,当左边的变量(或表达式)小于右边的变量(或表达式)时,表达式的值为真,否则为假。

例如,#1GE#2,当#1大于#2时,表达式的值为真。否则为假。


7. 运算优先级


运算符的优先顺序是

(1)函数。函数的优先级最高。

(2)乘、除、与运算。乘、除、与运算的优先级次于函数的优先级。

(3)加、减、或、异或运算。加、减、或、异或运算的优先级次于乘、除、与运算。乘、除、与运算的优先级。

   (4)关系运算。关系运算的优先级最低。

   用方括号可以改变优先级,括号不能超过5层。超过5层时,发出P/S报警No.111。


8. 变量值的精度


变量值的精度为8位十进制数。

例如:用赋值语句#1=9876543210123.456时,实际上#1=9876543200000.000。

     用赋值语句#2=9876543277777.456时,实际上#2=9876543300000.000。


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
7月前
|
C语言
c语言编程练习题:7-16 计算符号函数的值
请编写程序计算该函数对任一输入整数的值。
124 0
第7章 符号计算——7.5 符号函数的操作
第7章 符号计算——7.5 符号函数的操作
|
4月前
|
Java uml
使用工厂方法模式设计能够实现包含加法(+)、减法(-)、乘法(*)、除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到运算结果。要求使用相关的工具绘制UML类图并严格按照类图的设计编写程序实
该博客文章通过UML类图和Java代码示例,展示了如何使用工厂方法模式设计一个支持加法、减法、乘法和除法运算的计算机程序,并严格按照类图设计实现程序。
|
6月前
|
编译器 C语言
【C语言】:中移位操作符,位操作符详运算规则详解
【C语言】:中移位操作符,位操作符详运算规则详解
55 1
|
设计模式 Java Spring
这个无敌设计,可以解析并运算任意数学表达式
下面用解释器模式来实现一个数学表达式计算器,包含加、减、乘、除运算。 首先定义抽象表达式角色IArithmeticInterpreter接口。
154 0
|
运维 Shell Python
【运维知识高级篇】超详细的Shell编程讲解2(变量切片+统计变量长度+字串删除+字串替换+七种方法进行数值运算+整数比较+多整数比较+文件判断+字符串比对+正则比对+配合三剑客的高阶用法)(一)
【运维知识高级篇】超详细的Shell编程讲解2(变量切片+统计变量长度+字串删除+字串替换+七种方法进行数值运算+整数比较+多整数比较+文件判断+字符串比对+正则比对+配合三剑客的高阶用法)
140 0
|
7月前
|
编译器 C++
【C++14保姆级教程】数位分割符、函数返回值推导
【C++14保姆级教程】数位分割符、函数返回值推导
110 0
|
C语言
乘法口诀标的打印及解释
打印乘法口诀表可以说是c语言中一个很经典的一个简单程序了。 打印乘法口诀表的第一反应可能会是很难,怎么打印出这么多相乘的数呢。但是仔细想分析和考虑的话,其实很简单。那么我来说一下打印乘法口诀表的思路。
92 0
|
运维 Shell Perl
【运维知识高级篇】超详细的Shell编程讲解2(变量切片+统计变量长度+字串删除+字串替换+七种方法进行数值运算+整数比较+多整数比较+文件判断+字符串比对+正则比对+配合三剑客的高阶用法)(二)
【运维知识高级篇】超详细的Shell编程讲解2(变量切片+统计变量长度+字串删除+字串替换+七种方法进行数值运算+整数比较+多整数比较+文件判断+字符串比对+正则比对+配合三剑客的高阶用法)(二)
137 0