在程序中需要一个变量表示两种状态,行或者不行。从占用内存空间和速度以及其他的可能影响到程序的方面考虑,Long、Integer、Byte和Boolean哪种比较好?原因是什么?
还有,当需要表示一个可以用Byte类型变量的数字范围的时候,比如10-100 ,那么也是从占用内存空间和速度以及其他的可能影响到程序的方面考虑,Long、Integer、Byte 哪种比较好?原因?

解决方案 »

  1.   

    需要一个变量表示两种状态当然用Boolean好。
    数字范围如果只用10-100的话,用Byte就足够了。不同类型的变量占用字节是不一样的,当然越经济越好。
      

  2.   

    偶素菜鸟,虾米也不懂,瞎说两句,抛砖引玉,呵呵我觉得单独的变量Long最好(在32位系统上),如果是连续的内存区域,Byte最好
      

  3.   

    如果是连续的内存区域,Byte数组最好
      

  4.   

    一般的单个变量,整形的用LONG,浮点型的可以用SINGLE的时候不用DOUBLE,千万别用Variant,免得到时候怎么死的都不知道。
    固定数组,同上。但是当数组的元素非常多的时候(成千上万)请使用INTEGER不要用LONG(除非数字超过INTEGER的范围)
    动态数组,能不用就不用,速度比固定数组慢很多,万一要用,参考固定数组。
    BYTE类型在做加减法的时候最快(比LONG快得多)另举个例子:
    dim I as long
    dim B as single
    B=555.333  '随便举个数
    for I=1 to 100000
      B=B / 3
    next如果改成:
    dim I as long
    dim A as single
    dim B as single
    B=555.333  '随便举个数
    A=1 / 3
    for I=1 to 100000
      B=B * A
    next
    速度要快得多
      

  5.   

    还有 Boolean型一般就只是用来作一个标志,参与的运算不会太多,所以无所谓。
    如果当一个很长的循环内要经常用到它的话可以使用LONG来代替。
      

  6.   

    如果做个只有两种状态的标志用,用Byte替代Boolean如何?因为Byte占用内存比Boolena少。
      

  7.   

    浮点型的可以用SINGLE的时候不用DOUBLE
    ---------------------------------------------真的吗?从80486开始
    x86体系的CPU都带了FPU(浮点协处理器)
    所有浮点运算都是交给FPU处理的FPU的寄存器是80位临时浮点型
    无论Single还是Double都是按80位运算
    只是算好后再作相应的类型转化操作
    所以Single、Double速度都一样为什么书上都说Single快一点?
    那是因为国内教材更新慢
    那时没有FPU硬件
    都是依照IEEE浮点标准用软件模拟浮点操作
    模拟的肯定慢而且那时大多是16位系统
    16位CPU算32位数还不算特别困难
    但算64就需要特殊的高精度算法
    严重影响速度对于现在计算机体系(1995年以后)
    应该这样用浮点型:
    就是数据存储(写文件)的时候用Single
    平时数学运算都用Double
      

  8.   

    如果是用于保存状态
    最好用Enum定义枚举
    VB定义的枚举一般是32位的
      

  9.   

    我个人觉得,是否该为了一点点的内存而如此煞费周折呢?是否你的程序要运行在20世纪的机器上面呢?根据变量的取值范围来定义变量的类型,若是浮点型我都定义为Double。
      

  10.   

    看你所需要的长度,例如一个可以用integer的形态,考虑以后是否升级,升级就用long
      

  11.   

    假如只表示0-255的数字,用Byte就能实现。但是从速度,内存占用和其他的影响道程序的方面考虑,应该用哪个?速度方面考虑用Long,内存占用方面考虑用Byte。这样是否正确?