Scala Int <<(x: Int) 方法及示例
在 Scala 中,Int 类型提供了一个特殊的位运算符<<,用于将一个整数左移指定的位数。此外,Int 类型还提供了一个方法<<,用于在整数左侧添加指定数目的零,该方法的语法如下:
def <<(x: Int): Int
其中,x 为要添加的零的个数,返回值为添加零后得到的整数。下面是此方法的一些示例代码:
val num1 = 5 //二进制的101
val num2 = num1 << 2 //二进制的10100,十进制的20
println(num2)
val num3 = num1 << 4 //二进制的1010000,十进制的80
println(num3)
val num4 = num1 << 0 //二进制的101,十进制的5
println(num4)
val num5 = num1 << -1 //抛出异常
在上面的示例代码中,我们定义了五个变量 num1、num2、num3、num4 和 num5,其中 num1 的值为 5,二进制表示为 101。下面将依次说明各个示例代码的作用。
阅读更多:Scala 教程
示例一
val num2 = num1 << 2 //二进制的10100,十进制的20
println(num2)
此示例中,我们通过 num1 对象的<<方法调用,在 num1 左侧添加了 2 个零,得到的最终结果为20,二进制表示为10100。
示例二
val num3 = num1 << 4 //二进制的1010000,十进制的80
println(num3)
此示例中,我们通过 num1 对象的<<方法调用,在 num1 左侧添加了 4 个零,得到的最终结果为80,二进制表示为1010000。
示例三
val num4 = num1 << 0 //二进制的101,十进制的5
println(num4)
此示例中,我们通过 num1 对象的<<方法调用,在 num1 左侧没有添加任何零,得到的最终结果为5,二进制表示为101。
示例四
val num5 = num1 << -1 //抛出异常
此示例中,我们通过 num1 对象的<<方法调用,试图将 num1 左移 -1 位,该操作虽然在 C/C++ 中是允许的,但在 Scala 中会抛出一个异常。
结论
Scala 中的 Int 类型提供了一个非常实用的方法<<,可以在整数的左侧添加指定数目的零,适用于很多实际场景中。需要注意的是,在使用此方法时,应该避免左移或右移负数位,否则会导致异常。
极客笔记