石鑫华视觉论坛

 找回密码
 注册会员
查看: 3897|回复: 0

[转载] 陈树学:LabVIEW之如何获取数据类型的取值范围

[复制链接]
  • TA的每日心情
    擦汗
    15 小时前
  • 签到天数: 3382 天

    连续签到: 4 天

    [LV.Master]2000FPS

    发表于 2014-11-2 18:17:15 | 显示全部楼层 |阅读模式 来自:广东省东莞市 移动

    注册登陆后可查看附件和大图,以及购买相关内容

    您需要 登录 才可以下载或查看,没有账号?注册会员

    x
    LabVIEW支持的数据类型种类繁多,其中整型数是种类最多的,包括U8、I8、U16、I32等等。
    对于每一种特定的整型数,都对应这特定的取值范围,比如U8的最大值为255,最小值为0,所以U8的取值范围是0-255。
    今天我们要讨论的是如何获取整数数据类型的取值范围的方法:
    一、计算法
    我们知道U8是由一个字节(8位)构成的,U16是由2个字节(16位)构成的,以此类推,U64由8个字节构成(64位)。因此对于整型无符号数的取值范围很容易计算出来,无符号整数的最小值均为0,最大值可以通过计算得到。

    对于有符号数,因为有符号数的最高位表示数值的符号,所以对于N位整型数,它能表示的最大正数为2的N-1次方,比如I8能表示的最大正数为2的7次方减1,即127,它能表示的最小负数为--127-1=-128,所以I8的取值范围是-128到+127.由此可以得出有符号整型数的取值范围的计算方法。

    有符号数

    有符号数

    二、16进制表示法
    在整数的16进制表示方式下,无符号整数的最大值一目了然,非常清晰。对于U8整数,最大值为FF,对于U16整数,最大值为FFFF.

    16进制表示法

    16进制表示法
    对于有符号数,取值范围见下图
    三、利用正无穷和负无穷进行类型转换
    利用计算法非常繁琐,利用HEX方式必须理解整数的结构,下面的方法是我要介绍的Nugget.我们知道LV提供了正无穷大和负无穷大两个常数,利用这两个常数,通过类型转化函数,就可以获取整数的取值范围。

    利用正无穷和负无穷进行类型转换

    利用正无穷和负无穷进行类型转换
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册会员

    本版积分规则

    LabVIEW HALCON图像处理入门教程(第二版)
    石鑫华机器视觉与LabVIEW Vision图像处理PDF+视频教程11种全套
    《LabVIEW Vision函数实例详解》教程-NI Vision所有函数使用方法介绍,基于NI VISION2020,兼容VDM21/22/23/24

    QQ|石鑫华视觉论坛 |网站地图

    GMT+8, 2024-11-20 23:16

    Powered by Discuz! X3.4

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表