VB中XOR是什么意思.

[复制链接]
查看11 | 回复2 | 2019-4-22 05:18:58 | 显示全部楼层 |阅读模式
False Xor False =False
True Xor False =True
False Xor True =True
True Xor True =False 如果是两个数互相Xor的话,先化成2进制,然后对每位进行运算,相同则为零,不同则为1如:7 Xor 11(7)10=(0111)2(11)10=(1011)2
0 1 1 1
1 0 1 1-Xor--------
1 1 0 0(1100)2=12所以7 Xor 11=12又如13 Xor 52
0 0 1 1 0 1
1 1 0 1 0 0-Xor------------
1 1 1 0 0 1所以13 Xor 52 = 57(111001的10进制)替三楼回答:MF_BYPOSITION Xor MF_HILITE用Xor是因为VB传参数的机制就是这样的MF_BYPOSITION是使用菜单项的位置(从序号0开始)来标示菜单项MF_HILITE好像是加亮显示吧MF_BYPOSITION = &H400&MF_BYCOMMAND = &H0&MF_HILITE = &H80&这样VB就可以只传输一个参数,就获得2个值了(Xor运算有一个特点,a Xor b Xor a = b,VB只需将HiliteMenuItem的最后一个参数MF_BYPOSITION Xor MF_HILITE的值在Xor一下MF_BYPOSITION就知道是用什么方式显示了)
回复

使用道具 举报

千问 | 2019-4-22 05:18:58 | 显示全部楼层
1 and 0 =01 or 0 =11 xor 0 =11 xor 1=00 xor 0 =00 xor 1=1就是相同为0,不同为1
回复

使用道具 举报

千问 | 2019-4-22 05:18:58 | 显示全部楼层
xor说明:
如果表达式中有一个而且只有一个值为True,则结果为True。以下数字0代表假(False),1代表真(True)。最后一位数代表运行结果0 xor 0= 0
0 xor 1= 1
1 xor 0= 1
1 xor 1= 0HiliteMenuItem VB声明 Declare Function HiliteMenuItem Lib "user32" Alias "HiliteMenuItem" (ByVal hwnd As Long, ByVal hMenu As Long, ByVal wIDHiliteItem As Long, ByVal wHilite As Long) As Long 说明 控制顶级菜单条目的加亮显示状态 返回值 Long,非零表示成功,零表示失败 参数表 参数 类型及说明 hwnd Long,拥有顶级菜单的一个窗口的句柄 hMenu Long,hwnd窗口的顶级菜单的句柄 wIDHiliteItem Long,欲加亮或撤消加亮的菜单条目的标识符。倘若在wHilite参数中设置了MF_BYCOMMAND标志,这个参数就用于指定要改变的菜单条目的命令ID。如果设置的是MF_BYPOSITION标志,这个参数就用于指定条目在菜单中的位置(第一个条目的位置为0) wHilite Long,一系列常数标志的组合。其中包括MF_BYCOMMAND或MF_BYPOSITION,指出要改变的条目。也包括MF_HILITE,用于设置加亮状态;或者MF_UNHILITE,用于撤消加亮状态 由此可见MF_BYPOSITION Xor MF_HILITE中的xor改成and时,只能两种条件都满足的情况下才行。故用xor
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行