Halcon运算符

Halcon 提供了丰富的运算符,涵盖数学运算、逻辑运算、位运算、字符串操作等多个类别。以下分类整理 Halcon 的主要运算符:

数学运算符

  • 基本运算:+, -, *, /, ^(幂运算)
  • 取模运算:mod
  • 绝对值:abs
  • 比较运算:==, !=, <, >, <=, >=
* 示例:数学运算
A := 5 + 3 * 2;  // 结果为 11
B := 2^3;        // 结果为 8

逻辑运算符

  • 逻辑与:and, &&
  • 逻辑或:or, ||
  • 逻辑非:not, !
  • 异或:xor
* 示例:逻辑运算
Flag := (A > 0) and (B < 10);  // 结果为 true

位运算符

  • 按位与:band
  • 按位或:bor
  • 按位非:bnot
  • 按位异或:bxor
  • 移位运算:shl(左移), shr(右移)
* 示例:位运算
Result := 5 band 3;  // 结果为 1 (0101 & 0011 = 0001)

字符串运算符

  • 连接:+
  • 比较:==, !=, <, >, <=, >=
  • 子串匹配:$(包含检查)
* 示例:字符串操作
Text := 'Hello' + ' World';  // 结果为 'Hello World'
Match := 'abc' $ 'abcdef';   // 结果为 true

特殊运算符

  • 赋值::=
  • 范围生成:|(如 1 | 5 生成 [1,2,3,4,5]
  • 条件表达式:? :(三元运算符)
* 示例:三元运算符
Value := (A > B) ? A : B;  // 返回较大值

矩阵与数组运算

  • 元素级运算:.+, .-, .*, ./
  • 转置:'
  • 矩阵乘法:*
* 示例:矩阵操作
MatrixA := [1,2; 3,4];
MatrixB := MatrixA .* 2;  // 逐元素乘以 2

类型转换运算符

  • 显式转换:$(如 int$'123' 将字符串转为整数)
* 示例:类型转换
Number := int$'42';  // 字符串转整数

其他运算符

  • 成员检查:in(检查元素是否在数组中)
  • 范围检查:between
* 示例:范围检查
Valid := X between [0, 100];  // 检查 X 是否在 0~100 之间

注意:Halcon 的运算符优先级遵循通用规则,但建议使用括号明确运算顺序以避免歧义。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值