我正在尝试使用这个Java语句进行XOR,但它会产生意外的输出.
System.out.println(0x15C ^ 0x11B);
Run Code Online (Sandbox Code Playgroud)
输出:
71
Run Code Online (Sandbox Code Playgroud)
但是,如果我转到http://www.jdejong.net/tools/bitwisecalculator.php,则输出为47.

如果我手动执行此操作,则会得到结果0x47.
0x15C: 000101011100
0x11B: 000100011011
---------------------- XOR
0x47: 000001000111
Run Code Online (Sandbox Code Playgroud)
如何使用Java生成47(我认为是正确的答案)?
编辑: 答案:忘了它是小数,而不是十六进制.屏幕截图的XOR结果让我困惑,因为它没有0x表示法.
DaJ*_*kie 12
输出是正确的.71是0x47的十进制表示.如果你想用十六进制打印,我建议使用String.format().例如:
System.out.println(String.format("%#x",0x15C ^ 0x11B));
Run Code Online (Sandbox Code Playgroud)