广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    type-cast的用法总结(一)

    来源:网络收集  点击:  时间:2024-07-09
    【导读】:
    labview中进行强制数据类型转换时,经常用到cast模块,本经验就是对该模块的初步总结。这需要一定的二进制基础知识。工具/原料morelabview2011一:CAST模块的查找和数据流连接1/1分步阅读

    打开labview的后面板,通过programming——numeric——data manipulation,选择拖拽type cast模块,并将其进行最基础的线路连接。

    二:type数据类型位宽小于输入数据类型位宽1/3

    我们将输入类型选择为I16(含16bits);

    而type类型为:U8(含8bits);

    2/3

    此时我们发现输入的32767,输出的确实127。数值变小,这至少说明在转换中数据出现了溢出。

    3/3

    之所以出现溢出,是因为将16位数据转换为8位数据时失去了8位的数值,而在labview cast定义中,失去的是低权位的数值,所以这里只保留了16位数值的左侧8位。我们经过下面的计算就可以知道结果却是127;

    注:对于正整数,有符号和无符号二进制数值转换为10进制时结果一模一样。

    三:type位宽等于输入数值位宽时1/2

    如果将type变为I16和U16,根据上一步的注,可以知道此事位宽均相同。

    2/2

    此时位宽完全相同,数值完全等于输入的数值。此时相当于没有进行任何数值转换。

    四:type位宽大于输入数值的位宽1/4

    有前面知道,输入为I16;

    如果我们将type变为I32;此时位宽增加了16位;

    运行后可以看到数值远远大于输入数值。

    2/4

    此时转换过程是,I16位从I32位的左侧开始占空,而右侧的低权位缺省位、为0;

    注1:输入为有符号,符号位为0;

    注2:转换为无符号时,守卫仍为0;

    注3:位宽的位置序号从右往左,从0开始计数。

    3/4

    同样,当我们将type类型改为I64位,此时位宽进一步加倍;

    计算结果更加接近天文数字,和输入值之间的关系很难捉摸。

    4/4

    此时我们只需要知道右侧缺省0的位数为48,然后很方便进行算数计算就可以得到labview一样的结果。

    注:符号位为正,用0赋值。

    注意事项

    欢迎交流和投票

    请尊重知识产权

    TYPECAST强制转换LABVIEW位宽
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_945282.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-06 19:24:24  耗时:0.024
    0.0235s