第8章:TTCN-3数据类型

本文详细介绍了TTCN-3中的数据类型,包括子类型定义、内置类型如boolean、integer、float等的特性和用法,以及用户定义类型如枚举、record、set、union和list。此外,还探讨了嵌套类型和编码解码的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2、subtype

  • 子类型定义

    • 别名aliasing:所有类型
    • 数值列表value lists:所有类型
    • 数值范围value ranges:integer和float适用
    • 域值限制field value:structured类型适用
    • 字符集限制character set :charstring和universal charstring
    • 长度限制length:所有字符串类型和record of和set of
  • 数值列表:可用于文字表示

  • 数值范围
    • 包括边界(100 .. 609)
    • 不包括边界(100 .. !610)
  • 长度限制
    • 不允许使用不包括边界表达
  • 子类可以再派生子类,不允许有循环派生
  • 不允许隐式转换,如10+2.0会被拒绝

3、TTCN-3内置类型

同类型可以直接比较,不同类型必须转换

  • boolean
    • 直接判断true和false
    • and,or,xor,not都是直接表示
  • integer
    • 只有一种integer,可以取任意大小
    • tools一般支持带符号的32bit或带符号的64bit
    • “/”表示整除,7/2得3;“rem”表示余数,7 rem 2得1
    • char2int:把字母取ASCII码
    • str2int:只允许数字string
  • Float
    • 对精度没要求
    • 不支持三角函数、幂和log
    • rnd产生一个0.0-1.0的伪随机数
  • charstring和universal charstring
    • 不支持转义序列,双引号可以用一对双引号插入字符串中
    • 没有char,表示为长为1的charstring
    • substr(字符串,起始点,长度)
    • replace(字符串,起始点,替换长度,替换字符串)
  • 位计算
    • bitstring:1bit
    • hexstring:4bits
    • octetstring:8bits
    • <<和>>:移位,数字不超过string长
    • <@和@>:循环移位,数字不超过string长

用户定义类型

  • 枚举
    • 一个type中不重复
    • 多个type中可以重名
    • 可以直接赋值,可以比大小
  • record
    • 类似结构体,有顺序
    • value list赋值:部分定义时,使用“-”代替为赋值部分
    • ispresent看可选部分是否定义
  • set
    • 无顺序
    • 不能使用列表赋值
  • union
    • 多个variant,每次只能选一个
    • ischosen用于看哪个variant被选择
  • list
    • 数组(一维、多维):不允许subtype
    • record-of
    • set-of

嵌套

  • 为支持ASN.1的新定义类型

编码、解码

  • 互相转换的用法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值