如何对两个整数进行位操作?还有一个小问题,但是很困扰我Dim l As Long
  l = 255 * 256
  l = 256 * 256上面执行的时候报错,说是溢出
如果改成这样就没有问题
l = CLng(255) * CLng(256)
真是奇怪

解决方案 »

  1.   

    1)
    Debug.Print 100 Xor 10
    Debug.Print 100 And 10
    Debug.Print 100 Or 102)
    因为255被vb当作Integer处理,Integer占2字节,去掉一个符号位,最大能标示32767
    两个Integer相乘结果还是Integer,所以出现溢出
    l = CLng(255) * CLng(256)还可以写成l = 255 * 255&
    如果l = 32768*255就不会出错,因为32768是Long,与Integer运算时是按Long处理的
      

  2.   

    Dim i As Long
    i = &H2 Or &H2
    Print i
    i = 1 & 0
    Print i
    Print i
    i = 234 Xor 456
    Print i
    i = 231 And 442
    Print i
    i = Not 123
    Print i
    i = 234 Eqv 478
    Print i
    i = 126 Imp 876
    Print i
      

  3.   

    有没有 << 和 >> 操作啊?