21.Labview接线颜色和数据类型及强制类型转换

题注
数据是Labview中非常重要的一个名词,因为Labview是基于数据流进行编程的,数据的类型及数据的流向我相信是许多初学者在学习过程中遇到的一个非常常见的一个问题
题主相信许多初学者都存在过一个相同的问题,就是Labview中接线的颜色究竟和他的数据有什么关系?
那么本篇文章就向大家介绍一下数据的类型以及强制数据类型转换的相关知识,如果有用的话欢迎大家点赞收藏加关注,谢谢

话不多说,请看目录

1. 数据类型讲解

本章讲解Labview中的数据类型,包含数据类型的具体分类和不同颜色的接线方式所代表的数据方式,话不多说请看下述讲解内容。

1.1 数据类型颜色

大家知道我们在使用labview的时候会有各种各样的接线颜色,但是在Labview中有各种各样的连线,比如有颜色相同宽度不同的接线、有宽度相同颜色有不同的接线,那么这些接线类型是代表了什么数据呢?我们该如何去分辨和怎么使用呢?

题主整理了一下不同数据类型的颜色及其对照表,以帮助大家理解,大家可以自行去查找,如下图所示:
在这里插入图片描述
通过以上图片我们可以看到,所有基础维度的接线经过一维变换和二维变换之后其线段宽度会增加,这有助于我们在编程的时候快速发现接线的数据类型。

1.2 数据详细分类

数据类型的分类分为几个大类,每个大类中又包含几种小类,在我们平时的编程中能常用到一些类似于数值、数组、字符串、枚举量、引用路径等的数据类型,这些数据类型统称为一种大类
部分大类下边有所属的小分类,这里着重强调一下数值类型的分类,对于数值而言又分为整型和浮点型其中整形分为长整型、U8类型、U16类型U32类型、I8、I16、I32类型,浮点数又包含单精度浮点数即双精度浮点数,具体分类如下表所述:
在这里插入图片描述
那么不同的数据类型又对应了不同类型的控件,对于不同类型的控件来说每一类控件都代表了一个小分类的数据,作为编程者我们可以根据不同数据类型要求来选择小分类的控件的数据类型表达方式。

那么是不是不同小分类的数据类型不同就不能连接了呢?当然不是,不同的小分类之间的数据类型是可以转换的,因此就用到了我们所说的强制类型转换。

2.强制类型转换

什么是强制类型转换呢?强制类型转换可以说是对于相同大分类的控件之间不同数据类型的数据连接的时候将输入的数据强制转换为当前控件所在数据类型的一种方式。
比如说我输入的数据是浮点型的数值控件,但是我的显示控件是整型的,那么当这个输入控件连接上整型显示控件时它的数据类型被强制转换为整型的数据类型。
那么强制类型转换有几种方式呢?请大家往后看。
在这里插入图片描述

2.1 直接强制转换

这种直接强制转换的方式只针对于大分类相同而小分类不同的数值类型转换,就例如上述所说的浮点型转换为整形的方式。
如下图所示:
在这里插入图片描述
左侧三个是进行了强制类型转换的数值类型,右侧三个是无需强制类型转换的数值类型。
大家可以看到一个特点,当一个U8数据输入到DBL类型的控件中,在数据进入控件之前会有一个红色的箭头,那么这个箭头就表示数据发生了强制类型的转换。这样就会有一个现象:当浮点数转化为整型的时候,浮点数会四舍五入为一个整数形式。
DBL类型的数据输入到DBL控件中时,数据类型并没有发生转变因为输入和输出是相同的数据类型,此时控件上就没有红色的强制类型转换的箭头。
这种直接输入的方式适用于输入和显示控件是同种数据类型的情况下 (均为数值) ,那么对于不同种的数据比如字符串和数值之间进行强制转换的时候该用什么方式呢?

2.2 公式强制转换

使用强制类型转换函数来对不同的数据类型进行转换,函数及其介绍如下:
在这里插入图片描述
那么这个函数是如何使用的呢?我们以字符串转换为数值为例,左侧输入我们想要转换的字符串数值,上方输入我们想要转换成什么类型的数据 (例如我们想将这个字符串转换为U8类型的数组,那么就在类型一项中连接一个U8类型的数值,该数值的值可以为任意数字) ,那么该函数就会输出一个U8类型的数值结果。如下图所示:
在这里插入图片描述
此时的字符串就已经转化成了U8类型的数值。
看到这里可能会有同学会发出疑问,为什么字符串中的1就转化成了数值的49呢?
题主之前讲过一篇有关于字符串的文章,文章中曾经提到过字符串的本质是ASCII码的形式,所以这个字符串中的1并非是我们认识的数值中的1,如果大家想把这个1转化为数值中的1的话可以使用字符串中的十进制字符串转换为数值的函数如下图所示:
在这里插入图片描述
如果有同学想继续了解上面的49是怎么计算出来的呢?请往下看,没有兴趣的同学请忽略。我们知道只有数字的不同进制之间才能相互转化,比如16进制转化为二进制又比如二进制转化为十进制,那么我们首先要将字符串转化为进制的形式,我们右键字符串,单击16进制显示,我们可以看到这个ASCII码中的1转化为进制之后是16进制中的31:
在这里插入图片描述
我们又知道16进制中每逢16是进一个1,因此31转化为数值应该是3×16+1=49,所以49是这样得来的。

强制类型转换可以转换多种数据,不仅仅局限于字符串和数值之间,还包含数组等的一些其他数据类型,大家了解该函数是怎样使用的之后可以自行去尝试,或在项目中有用到这种方式的时候再做探索即可,本文不再对其他类型进行赘述。

3.总结

本文总结了几种数据类型的方式以及接线颜色对各种数据类型不同的分类,以及各种不同数据类型之间的类型转换。对于初学者来说本文可能会起到一定的帮助,希望大家多多强化基础知识以便于更快的进入强化阶段和进阶阶段。

本篇文章到此结束,欢迎大家提出宝贵意见批评指正,也欢迎大家去看我博客主页的其他文章,如果文章对大家有帮助的话大家点赞加关注,如果有其他问题可以私聊或者是向博主留言,谢谢大家。

  • 13
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叫我萧风啊

您的打赏是对我创作最大的鼓励~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值