Scala位运算

Scala位运算,scala,byte,bit,Scala,Byte,Bit,我正在对scala位操作进行一些研究,如下所示: scala> val b = 8 b: Int = 8 scala> var c:Int = b | (1<<4) c: Int = 24 scala> var c:Int = c | (1<<5) c: Int = 32 scala>val b=8 b:Int=8 scala>var c:Int=b |(1在第三行中,您正在重新定义变量c。REPL的工作方式显然是,它首先创建设置为默认值0的变量,

我正在对scala位操作进行一些研究,如下所示:

scala> val b = 8
b: Int = 8

scala> var c:Int = b | (1<<4)
c: Int = 24

scala> var c:Int = c | (1<<5)
c: Int = 32
scala>val b=8
b:Int=8

scala>var c:Int=b |(1在第三行中,您正在重新定义变量
c
。REPL的工作方式显然是,它首先创建设置为默认值
0
的变量,然后执行
0 |(1,因为您使用的是REPL,所以您正在重新定义变量c。因此在这一行中

var c:Int = c | (1<<5)

var c:Int=c |(1非常感谢你,杰斯珀!
var c:Int = c | (1<<5)
var c:Int = 0 | (1<<5)