是否有一个方法接受16位无符号整数,并对其执行布尔逻辑NOT运算。
答案 0 :(得分:3)
按位求反运算符为~
。例如:
int i = 6;
System.out.println(~i); // Prints -7
如果你想将整数视为无符号的16位整数(即忽略最重要的16位),你应该这样做
public static int u16neg(int i) {
return ~i & 0xFFFF;
}
示例:
System.out.println(u16neg(0b00000000_00000000_00000000_00000110)); // 65529
System.out.println( 0b00000000_00000000_11111111_11111001); // 65529