我对这里的这个表达很困惑。我是一名 Java 程序员,但我不太精通位操作。
我想我正确理解了以下内容:
Input : 1 << 10
Output: 0000000000000000000010000000000
对于正数,我认为是您将 1 移动 10 位。
困惑是当我有以下情况时:
int val = -10 (binary representation : 1111111111111111111111111110110 )
Input : 1 << val
Output: 0000000010000000000000000000000
如果有人能用负数向我解释左移或右移的含义,那就太好了。