位置:51电子网 » 技术资料 » 模拟技术

要转化的数据

发布时间:2014/10/9 21:44:27 访问次数:471

    将图3-89中Type Cast其中第2个参数类型修改为16位无符号整数,结果如图3-91中黑色实线中包围的部分。此时VI的运行结果如图3-92所示。ADM6992因为“要转化的数据”为8位数,而转化后的数据为16位数,数据的长度不一致,因此出现了用户意料之外的结果。在LabVIEW中,当数据的长度不一致对,会做特殊处理。在本例中,将8位的转化结果“1111110”向更高位移动了8位,变成“1111 0110 0000 0000”,即十进制的“62976”。如果转化后数据的位数小于要转化的数据,LabVIEW将会直接使用要转化数据的高位来表示转化后的结果,而要转化数据的低位将被舍掉。比如把一个带符号16位整数“-10”转变为一个8位无符号整数,结果将是“1111 1111”,即十进制的255。

        

   上述数据类型转换存在很大的局限,在LabVIEW中还提供了其它方式的数据类型转化函数,用来更方便地进行各种类型间的数据转换。在程序框图中,选择图3-93中黑色实线框包围的路径,以及该路径下的图形接口U8,该函数的功能是将输入的数据转化成无符号的8位整型数,为方便与图3-92的结果对比,建立如图3-94所示的程序,输入带符号的16位整数,启动VI文件后,结果如图3-95所示,转化后的数值与图3-90完全一致,即取得了正确的数值。



    将图3-89中Type Cast其中第2个参数类型修改为16位无符号整数,结果如图3-91中黑色实线中包围的部分。此时VI的运行结果如图3-92所示。ADM6992因为“要转化的数据”为8位数,而转化后的数据为16位数,数据的长度不一致,因此出现了用户意料之外的结果。在LabVIEW中,当数据的长度不一致对,会做特殊处理。在本例中,将8位的转化结果“1111110”向更高位移动了8位,变成“1111 0110 0000 0000”,即十进制的“62976”。如果转化后数据的位数小于要转化的数据,LabVIEW将会直接使用要转化数据的高位来表示转化后的结果,而要转化数据的低位将被舍掉。比如把一个带符号16位整数“-10”转变为一个8位无符号整数,结果将是“1111 1111”,即十进制的255。

        

   上述数据类型转换存在很大的局限,在LabVIEW中还提供了其它方式的数据类型转化函数,用来更方便地进行各种类型间的数据转换。在程序框图中,选择图3-93中黑色实线框包围的路径,以及该路径下的图形接口U8,该函数的功能是将输入的数据转化成无符号的8位整型数,为方便与图3-92的结果对比,建立如图3-94所示的程序,输入带符号的16位整数,启动VI文件后,结果如图3-95所示,转化后的数值与图3-90完全一致,即取得了正确的数值。



相关技术资料
10-9要转化的数据

热门点击

 

推荐技术资料

泰克新发布的DSA830
   泰克新发布的DSA8300在一台仪器中同时实现时域和频域分析,DS... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!