gpt4 book ai didi

java - Java 左移 0

转载 作者:搜寻专家 更新时间:2023-11-01 01:05:00 27 4
gpt4 key购买 nike

考虑:

   int a = 0;
a |= 1 << a;
System.out.println(a);

它打印“1”。为什么?我认为向左位移 0 任意次数仍然是 0。它从哪里拉出 1?

最佳答案

表达式1 << a;将移动值 1 , a次数。

换句话说,您的值为 1:

0000001

现在,您将整个内容向左移动 0 位。然后你有:

0000001

然后你有:

a |= 1 << a;

解析为:

a = 0000000 | 0000001

或者:

a = 1;

您可能混淆了操作数。如果您尝试将值 0 向左移动一位,您需要:

a |= a << 1;

关于java - Java 左移 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18006807/

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