我试图将一些java代码转换为C#,到目前为止它一直运行良好但我遇到了^运算符的问题。在C#Console.WriteLine(127 ^ 0xffffffff);
中打印4294967168而在Java System.out.println(127 ^ 0xffffffff);
中打印-128。我一直在四处寻找,看看是否还有其他我需要使用的东西,但我还没有碰到任何东西。
答案 0 :(得分:8)
C#支持签名以及 unsigned 整数(Java仅支持签名):
unchecked {
// you want signed int
int result = (int) (127 ^ 0xffffffff);
Console.WriteLine(result);
}