gpt4 book ai didi

Java: int << (-1) == 0 ?

转载 作者:行者123 更新时间:2023-12-01 12:58:03 26 4
gpt4 key购买 nike

在java中,当我移动一个int时,无论它是什么值,都向左移动:

4 << (-1);

当偏移量为-1时,我将始终得到0。

为什么?

最佳答案

仅使用移位的低 5 位,因此移位 31。这意味着 1 << -1 应该是 Integer.MIN_VALUE 而不是 0。对于 long 来说,使用低 6 位。

参见http://ideone.com/C2m9gi举个它不为 0 的例子。

System.out.println(1 << -1);

简而言之,你总是得到 0,因为你不断尝试偶数。尝试使用奇数,您将得到 Integer.MIN_VALUE。

关于Java: int << (-1) == 0 ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23738605/

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