я определяю простую функцию, чтобы сделать какую-то операцию побитового:Scala операция поразрядного
def getBit(num:Int, i:Int):Boolean = (num & (1 << i) != 0)
Но я получаю эту ошибку:
<console>:7: error: overloaded method value & with alternatives:
(x: Long)Long <and>
(x: Int)Int <and>
(x: Char)Int <and>
(x: Short)Int <and>
(x: Byte)Int
cannot be applied to (Boolean)
def getBit(num:Int, i:Int):Boolean = (num & (1 << i) != 0)
Почему я не могу использовать оператор &
? Как я могу решить эту ошибку?
В вашем примере функция '&' получает результат '(1 << i)! = 0' передан как параметр, который является' Boolean'. Функция '&' требует в этом случае 'Int'. – LuGo
Ok Thx. оно работает !! – Dimitri