Java中的XOR“^”正在生成意外结果

Java中的XOR“^”正在生成意外结果,java,Java,我试图用这个Java语句执行XOR,但它生成了意外的输出 System.out.println(0x15C ^ 0x11B); 输出: 71 但是,如果我转到,输出是47 如果我手动执行此操作,则得到结果0x47 0x15C: 000101011100 0x11B: 000100011011 ---------------------- XOR 0x47: 000001000111 如何使用Java生成我认为正确的答案 编辑: 答复: 忘了它是十进制的,不是十六进制的。屏幕截图的XO

我试图用这个Java语句执行XOR,但它生成了意外的输出

System.out.println(0x15C ^ 0x11B);
输出:

71
但是,如果我转到,输出是47

如果我手动执行此操作,则得到结果0x47

0x15C: 000101011100
0x11B: 000100011011
---------------------- XOR
0x47:  000001000111  
如何使用Java生成我认为正确的答案

编辑: 答复:
忘了它是十进制的,不是十六进制的。屏幕截图的XOR结果让我很困惑,因为它没有0x表示法。

输出是正确的。71是0x47的十进制表示形式。 如果你想用十六进制打印,我建议用。例如:

System.out.println(String.format("%#x",0x15C ^ 0x11B));

十进制中的71是正确的

0x47十六进制是71十进制。如果您希望以十六进制表示法打印整数,请使用它只是一个数字。默认情况下,数字以十进制10为基数打印

   71 = 0x47

您没有将输出格式化为十六进制,因此输出为十进制。0x47=71。一般来说,每当你断言YYY语言中的XXX被破坏时,你就是在愚弄自己。我知道我做错了什么,但我不知道是什么让我对stackoverflow感兴趣的是,像这样的问题会被否决而被遗忘,而关于如何在javascript中绑定点击事件的一百万个问题会被否决,因为它们很简单,而且会得到回答分数。我的意思是肯定的,你忽略了一些东西,但就其性质而言,这并不像你的反对票所暗示的那样是一个可怕的问题。总是先怀疑自己@佩普——我认为奥皮之所以被否决,与其说是因为他问了一个愚蠢的问题,不如说是因为他说Java坏了。
   71 = 0x47