mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-13 08:31:31 +00:00
31 lines
582 B
Kotlin
Vendored
31 lines
582 B
Kotlin
Vendored
fun foo(): Int {
|
|
val mask: Int = 0x7f
|
|
val x: Int = 0b1010_1010_1010_1010_1010_1010_1010_1010
|
|
|
|
val pos = x and mask
|
|
val max = x or mask
|
|
val zebra = x xor mask
|
|
|
|
val signed = x shr 2
|
|
val one = x ushr 31
|
|
val zero = x shl 32
|
|
|
|
return pos + zero - zebra * signed / one
|
|
}
|
|
|
|
fun bar(): Long {
|
|
val mask: Long = 0x7f
|
|
val x: Long = 0x5555555555555555
|
|
|
|
val pos = x and mask
|
|
val max = x or mask
|
|
val zebra = x xor mask
|
|
|
|
val signed = x shr 2
|
|
val one = x ushr 63
|
|
val zero = x shl 64
|
|
|
|
return pos + zero - zebra * signed / one
|
|
}
|
|
|