如下两个计算是否一样?Debug.Print? (&H9046)
-28602 ? 9*16^3+4*16^1+6
 36934 
&H9046表示什么?

解决方案 »

  1.   

    表示十六进制数9046, 如果直接转化为10进制应该为36934, 但是VB没有无符号数,所以在integer的范围内它被认为是一个负数(超过32767)
      

  2.   


    Dim a As Double
    a = &H9046
    MsgBox a
    MsgBox Hex(36934)
    还是负数呀。
      

  3.   

    ? (&H9046&)长整要在尾部加&,否则会当整型处理,就会是负数。
      

  4.   

    就是说十六进制常量没以&结尾时会优先当短整型Integer处理,当然,如数值较大,缺少对应的Integer型数时,还是会当Long型处理的,如:
    ?(&h1233f)
     74559 所以你如本身是长整型就一律在后面加&尾缀较好。
      

  5.   

    &H9046  只有2字节,VB6中默认为 Integer类型的数值。
       因为它的二进制位最高位是1,所以,它表示一个负数。
    你不要认为a为Double类型变量,可以表示很大的数值,&H9046就会是正数了。a = &H9046的赋值过程是:
    &H9046(十六进制整数) = -28602(十进制整数) ==> -28602.0(十进制双精度浮点数),然后把这个浮点数存贮到 a 所在的内存单元中。
    MsgBox a 当然看到的是负数。简单地说:
    &H9046 = &HFFFF9046
    &H9046& = &H00009046
    这样,你应该好理解‘为什么是负数’了吧!
      

  6.   

    ?&h9036
    -28618 
    ?&h9046&
     36934 
      

  7.   

    VB中除了Byte类型,还有其他的无符号数类型吗?
      

  8.   

    VB6 数据类型:MSDN中的URLmk:@MSITStore:C:\Program%20Files\Microsoft%20Visual%20Studio\MSDN98\98VS\2052\vbenlr98.chm::/html/vagrpDataType.htm数据类型概述
       以下表格显示所支持的数据类型,以及存储空间大小与范围。数据类型  存储空间大小 范围 Byte 1 个字节 0 到 255 
    Boolean 2 个字节 True 或 False 
    Integer  2 个字节 -32,768 到 32,767 
    Long
    (长整型) 4 个字节 -2,147,483,648 到 2,147,483,647 
    Single 
    (单精度浮点型) 4 个字节 负数时从 -3.402823E38 到 -1.401298E-45;正数时从 1.401298E-45 到 3.402823E38 
    Double 
    (双精度浮点型) 8 个字节 负数时从 -1.79769313486232E308 到 
    -4.94065645841247E-324;正数时从4.94065645841247E-324 到 1.79769313486232E308 
    Currency 
    (变比整型) 8 个字节 从 -922,337,203,685,477.5808 到 922,337,203,685,477.5807 
    Decimal 14 个字节 没有小数点时为 +/-79,228,162,514,264,337,593,543,950,335,而小数点右边有 28 位数时为 +/-7.9228162514264337593543950335;最小的非零值为 +/-0.0000000000000000000000000001 
    Date 8 个字节 100 年 1 月 1 日 到 9999 年 12 月 31 日 
    Object 4 个字节 任何 Object 引用 
    String 
    (变长) 10 字节加字符串长度 0 到大约 20 亿 
    String
    (定长) 字符串长度 1 到大约 65,400 
    Variant
    (数字) 16 个字节 任何数字值,最大可达 Double 的范围 
    Variant
    (字符) 22 个字节加字符串长度 与变长 String 有相同的范围 
    用户自定义
    (利用 Type) 所有元素所需数目 每个元素的范围与它本身的数据类型的范围相同。 
    注意 任何数据类型的数组都需要 20 个字节的内存空间,加上每一数组维数占 4 个字节,再加上数据本身所占用的空间。数据所占用的内存空间可以用数据元数目乘上每个元素的大小加以计算。例如,以 4 个 2 字节之 Integer 数据元所组成的一维数组中的数据,占 8 个字节。这 8 个字节加上额外的 24 个字节,使得这个数组所需总内存空间为 32 个字节。包含一数组的 Variant 比单独的一个数组需要多 12 个字节。