我知道bitxor
是逐位加法模2,所以不是bitxor(1000,10)
应该给1010吗?为什么它给我994?
答案 0 :(得分:5)
问题是1000和10不是二进制数。 在十进制中,0b1000将是8而0b10将是2。 试试这个:
bitxor(8,2)
ans = 10
现在你可能认为它错了,但ans也不是二进制,它的十进制10等于1010二进制。
编辑:让它按照你想要的方式运行试试这个:
dec2bin(bitxor(bin2dec('1000'), bin2dec('10'))
ans = 1010