typescript吧 关注:678贴子:637
  • 1回复贴,共1

各位前辈,这行代码是什么意思,以前没碰到这种语法

只看楼主收藏回复

代码如下,请高人指点,万分感谢!
master.alternateEndings |= 1 << (num - 1);


IP属地:广西1楼2023-02-22 18:26回复
    这段代码涉及到位运算和赋值操作。
    首先,`|=`是位运算符,表示左侧的变量与右侧的值按位或运算后再赋值给左侧的变量。例如,`a |= b` 等同于 `a = a | b`。
    其次,`1 << (num - 1)` 是一个位移操作符,表示将数字 1 左移 `(num - 1)` 位。例如,`1 << 3` 等同于二进制数 `0001` 左移 3 位得到 `1000`,即十进制数 8。
    因此,`master.alternsteEndings|= 1 << (num - 1)` 的意思是将数字 1 左移 `(num - 1)` 位,然后与 `master.alternateEndings` 按位或运算,并将结果赋值给 `master.alternateEndings` 变量。这个操作的目的是将 `master.alternateEndings` 中第 `num` 位设置为 1。


    IP属地:陕西来自Android客户端2楼2023-03-30 13:22
    回复