labview的深入探索----整型数据类型和内存映射

2015-08-25 09:50:50来源: eefocus 关键字:labview  数据类型  内存映射
首先要区分的是控件和数据类型的区别.


控件是数据类型的容器,或者说数据类型是控件的一个属性,控件都有一个值的属性,这个值的类型就是控件所代表的数据类型.

描述一个控件是通过类型描述符实现的,它包括控件的名称、控件类型及控件所代表的数据类型等等。
今天要谈的与控件本身无任何关系,是数据类型在内存中如何存储的,或者称作数据的内存映射
我们知道,无符号整型数有U8、U16、U32、U64

U8  是指8位(BIT),一个字节(BYTE),     值范围:0X00---->0XFF
U16是指16位(BIT),二个字节(BYTE),   值范围:0x0000--->0XFFFF

U32是指32位(BIT),四个字节(BYTE),   值范围:0X00000000---》0XFFFFFFFF
U64是指64位(BIT),八个字节


标准的数据类型在内存中是连续存放的,比如U32,是四个字节,那么一个U32就占用连续的4个字节的内存空间,同理,U16占用2个字节的空间,U64占用8个字节的连续空间。单精度是4个字节,双精度是8个字节。

通过下面的例子,可以清楚地看到,数据类型与字节的关系。




上面的图中的字符串是用HEX方式显示的,清楚地表明了U16--》2BYTE,U32--》4BYTE,U64----》8BYTE


以U32为例,它由四个字节组成,而这四个字节,可以理解成很多方式,它可以是

字符串-----四个字符,每个字符一个字节
U8数组-----四个元素,每个元素一个字节
U16数组---二个元素,每个元素占两个字节

LABVIEW的簇与C的结构不同,它是连续按字节存放的,未采用对齐方式,因此我们甚至可以理解成一个簇

这个簇可以是:
四个U8元素、2个U16元素、一个U8,一个U16和一个U8,总之,只要是四个字节就可以,对内存本身来说,是无法判断它到底存储的是什么的。

LABVIEW中有一个“CAST”函数,中文版翻译成强制类型转换,CAST本意是铸造模型的意思,用它的本意比较合适,对于四个字节,我们可以按照我们自己的理解转换成任意数据类型,只要它的字节数相同。

如果我们熟悉数据在内存中的映射关系,用CAST函数可以解决一些特殊的类型转换问题。




U32转换成U8数组和U8组成的簇结果相同
直接用CAST把U32转换成U16数组和U16组成的簇与LV内置的拆分函数结果相同。

关键字:labview  数据类型  内存映射

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/Test_and_measurement/2015/0825/article_12911.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:labview的深入探索----XY GRAPH的输入参数形式
下一篇:labview的深入探索-----状态机的基本类型之标准状态机

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利
推荐阅读
全部
labview
数据类型
内存映射

小广播

独家专题更多

2017东芝PCIM在线展会
2017东芝PCIM在线展会
TI车载信息娱乐系统的音视频解决方案
TI车载信息娱乐系统的音视频解决方案
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源
迎接创新的黄金时代 无创想,不奇迹
迎接创新的黄金时代 无创想,不奇迹
​TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved