AND  OR  XOR运算是怎么实现的?  
200  and  127==72  
偶试了很多数,结果好像没什么规律?
那个72是怎么来的?

解决方案 »

  1.   

    和C的位运算是一样的。
    200=&HC8=11001000B
    127=&H7F=01111111B
    位运算: 01001000B=&H48=72
      

  2.   

    先转换成2进制,再进行运算,例如:
    200=11001000
    127=0111111111001000
    AND
    01111111
    -------------
    01001000 =72
      

  3.   

    127=(00000000 And &H7F&) * &H2 + (00000000 And &H7F&) * &H4 + (00000000 And &H7F&) * &H80 + (01111111 And &H7F&)怎么反过来得到00000000 00000000 0000000 01111111
      

  4.   

    帮你解析一下:
    (00000000 And &H7F&) * &H2 =0
    (00000000 And &H7F&) * &H=0
    (00000000 And &H7F&) * &H80 =0
    以上三个肯定等于0,0和任何数AND运算都等于0
    (01111111 And &H7F&)=&H7F=127
    01111111就是&H7F的二进制值,任何一个数和它本身进行AND运算都等于这个数。&H7F是127的16进制值,所以你的等式是成立的。
    至于反过来得到00000000 00000000 0000000 01111111,这也没错啊,结果仍然是127。只不过是二进制的方式表现出来的。
      

  5.   

    11011101
    and
       01011011
    =  
       01011001怎么反过来从01011011  01011001 得到 11011101
      

  6.   

    回复人: firechun(天火) ( ) 信誉:97  2004-01-08 13:02:00  得分:0 
    我的意思是怎么算出00000000 00000000 00000000 01111111这几个数?
      

  7.   

    我不知道你要问什么?本来很简单的问题,怎么被你越说越不明白了。
    A and B=C 但是B And C<>AA xor B=C  而且 A xor C=B , B xor C=A
      

  8.   

    哎,首先你要知道十进制、二进制、十六进制的互相转换。
    然后你要知道在二进制状态下 
    1 and 1 = 1,1 and 0 = 0,0 and 1 = 0,0 and 0 = 0 下面来解释你的那个式子
    127=(00000000 And &H7F&) * &H2 + (00000000 And &H7F&) * &H4 + (00000000 And &H7F&) * &H80 + (01111111 And &H7F&)首先把十六进制的&H7F转换成二进制: 01111111
    然后我们来计算(00000000 And &H7F&) :
                00000000
            and 01111111
           ---------------
                00000000    (这是根据我上面给你的那几个公式对二进制数进行逐位and运算)那么二进制的00000000就是十进制的0,十六进制的&H2就是十进制的2
    (00000000 And &H7F&) * &H2 = 00000000*&H2 = 0 * 2 = 0 = 00000000(二进制)
    同理:(00000000 And &H7F&) * &H4 = 0 * 4 = 0 = 00000000(二进制)  
    (00000000 And &H7F&) * &H80= 0 * 128 = 0 = 00000000(二进制)  最后我们来计算(01111111 And &H7F)
                01111111
            and 01111111
           ---------------
                01111111    (这是根据我上面给你的那几个公式对二进制数进行逐位and运算)
    所以最终你的那个式子就是
    00000000 + 00000000 + 00000000 + 01111111 = 01111111 =127(十进制)如果这下还没明白过来就没有办法了
      

  9.   

    http://www.qhnu.edu.cn/cbe/ncre/window/kechengxuexi/1.5.htm
    http://www.k12.com.cn/webpage/vbscript/239.htm