编程语言
首页 > 编程语言> > 整数Java上的布尔逻辑非运算符

整数Java上的布尔逻辑非运算符

作者:互联网

有没有一种方法可以接受16位无符号整数,并对其执行布尔逻辑NOT运算.

解决方法:

按位求反运算符为〜.例:

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

标签:boolean,logical-operators,boolean-logic,java
来源: https://codeday.me/bug/20191121/2048114.html