gpt4 book ai didi

java - ~ 运算符在 Java 中是如何工作的?

转载 作者:行者123 更新时间:2023-12-04 08:59:49 30 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How does the bitwise complement operator (~ tilde) work?

(17 个回答)


去年关闭。




我在 Java 中寻找一些位操作并找到了 ~ 操作符。
我发现以下解释:

~a results from a, by inverting all bits of a


所以当我做一个 System.out.println(~1) ,为什么输出-2?
由于 0001 = 1 反转后它应该是 1110

最佳答案

请记住,负数以二进制补码表示形式存储。所以这意味着你首先取数字的补码,然后加 1。

int val = 20;
val = (~val)+1;
// 20 == 0b00000000000000000000000000010100
// ~20 == 0b11111111111111111111111111101011
// (~20)+1 == 0b11111111111111111111111111101100
System.out.println(val);
打印
-20
并且无论该值是整数还是浮点数,高位都是符号位。 1表示否定, 0不是否定的意思。

关于java - ~ 运算符在 Java 中是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63615940/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com