数据类型的探讨——数值型(Numeric)——强制转换 01/15/2010
当我们在某个VI的前面板上放置一个数值控件或一个数值指示器时,该部件的数据类型就已经被赋予一个默认类型。 在前面板上我们是无法看清它所使用的数据类型,但是在程序框图上我们可以清楚地看到它的数据类型。 数值型控件的数据类型有多种表示形式,参见右图所示。关于每种数值类型的具体含义和说明这里就不介绍了。 上图控件使用的就是DBL数据形式,也就是该控件的默认数据形式(右图中的蓝色框)。 当然我们可以在右图中将DBL形式改变为其它的数值形式,比如SGL形式。那将会发生什么样的问题呢? 我们将“数值2”指示器的数据表达形式从DBL改变为SGL后在数据输入端会发现出现一个小红点,参见左图。 这种现象在LabVIEW中称为数值类型的强制转换。在发生数据类型强制转换的地方会出现一个小红点作为提示。这个提示起到了两个作用: 1、通知用户这里发生了数据的强制转换 据许多资料介绍,在发生强制转换的地方系统自动备份转换前的数据,既系统自动保留一个数据副本,这样的结果将增加内存的使用,特别是在数据是以数组形式出现时。 2、提示用户小心丢失“精度” 数据表示方式的变化有可能损失数据精度,比如从DBL转换为I8,这是工程设计人员特别需要注意的地方。 向上转型不会引起精度丢失,向下转型可能损失数据精度。 所以在程序设计中要关注这样的提示,尽可能的消除“小红点”,这样可以减少内存使用和提高程序运行速度,并保持合理的运算结果。 | 写着玩! 外行当然说的就是我自己,内行是指NI的那些AE,因为他们更清楚LV的内涵和机理。就LV学习和使用而言,我的确就是个外行。但是,我想通过“看热闹”使自己尽可能的接近于内行。这肯定是一个可望而又不可及的目标。 历史纪录十一月 2011 分类
All |




RSS Feed