我有两个二进制数x = 11010且y = 11001000111110。这是对这些数字进行异或的好方法:
用左边的“x”填充较短的一个,然后将它们XOR
x = 000000000 11010
y = 110010001111110
z = x XOR y
答案 0 :(得分:1)
考虑像这样的XOR X 集群 OR 。 这是XOR表:
所以你为这些数字做了这个,但咬了一点。
答案 1 :(得分:0)
如@chapner在评论中所述,您不需要用0填充较短的数字。
您可以执行x XOR y,就可以了。
更长的阅读时间:
为了更好地理解,请考虑以下事项: 计算机仅理解二进制,因此它们仅理解0和1。但是,他们特别关注1s。包含0或不包含任何内容的任何数据始终为0。 (这意味着,计算机只将1s设为1s,其他一切都设为0。)
因此,当您对计算机说1时,它将取为1。
XOR通过对两个数字进行逐位匹配来工作,因此当您说1 XOR 100时,计算机将尝试对它进行逐位匹配,并且由于1没有前面的位,因此计算机会将它们各自取为0。 (请记住,只有1才需要1,其余全部为0。)
因此它实际上执行001 XOR 100并返回101。
我希望我足够清楚。