c#按位异或(^)与Java按位异或(^)的比较

本文关键字:位异或 比较 Java | 更新日期: 2023-09-27 18:13:16

我正试图将一些java代码转换为c#,到目前为止它一直在完美地工作,但我遇到了^操作符的问题。在c#中,Console.WriteLine(127 ^ 0xffffffff);打印4294967168,而在Java中,System.out.println(127 ^ 0xffffffff);打印-128。我一直在寻找是否有其他东西我需要使用,但我没有遇到任何东西

c#按位异或(^)与Java按位异或(^)的比较

c#支持有符号的无符号的整数(Java只支持有符号的整数):

  unchecked {
    // you want signed int
    int result = (int) (127 ^ 0xffffffff);
    Console.WriteLine(result);
  }