您的位置 首页 发布

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内置的拆分函数成果相同。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/fabu/211545.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部