labview里的强制类型转换怎么用啊?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了labview里的强制类型转换怎么用啊?相关的知识,希望对你有一定的参考价值。
完全看不懂!!
参考技术A 当你运行某个函数时,输入给它的数据类不相同,可以在输入给这个函数前将其强制转换成统一的数据类型,这样有利于减少内存用量。追问不会用啊,能截个图说清楚吗?
本回答被提问者采纳SV强制类型转换和常数
参考技术A静态转换有三种,分别是数据类型强制转换、向量宽度强制转换和符号强制转换,格式分别为:
静态强制转换是编译时的转换,转换的操作总会运行, 而不会检查结果的有效性
下面对数据类型强制转换和向量宽度强制转换做了仿真:
仿真结果如下:
系统函数 $cast 是动态的,并且 在运行时进行带转换数值的检查
动态强制类型转换的格式为: $cast(dest_var, source_var); ,系统函数 $cast 有两个变量:目标变量和源变量
下面几种情况会导致无效的强制类型转换:
$cast可以作为任务调用也可以作为函数调用,作为任务调用时,如果转换不成功, 会报告运行时错误 ,但作为函数调用时, 不会报告运行时错误
系统函数$cast具有返回值,如果转换成功,返回 1 ;转换失败,返回 0
例如:
$cast函数不能和直接修改源表达式的操作符(++, +=)一块用
$cast函数主要用途是将表达式的结果赋给枚举类型变量
静态强制转换是可综合的,动态强制转换由于一些综合工具可能不支持$cast系统函数
系统函数和系统任务都是不可综合的
下面这个例子,将 0.25*8 动态装换成 int 类型,并通过系统函数 $cast 判断转换是否成功
仿真结果如下:
Verilog提供了三种常数类型 parameter 、 specparam 和 localparam
确立 实质上是软件工具建立模块实例代表的设计层次的过程
Verilog限制 parameter 、 specparam 和 localparam 常数的声明只能在模块、静态任务和静态函数中, 不允许在动态任务和动态函数中
关键字const 允许将任何变量声明为常数,const形式的常数直到确立完成后才被赋值
const常数的使用范围:
const常数的声明必须包含数据类型,例如:
const常数实质上是一个只能被初始化的变量
本文摘在《SystemVerilog硬件设计与建模》
以上是关于labview里的强制类型转换怎么用啊?的主要内容,如果未能解决你的问题,请参考以下文章