如何在Kotlin中将Long(64位)拆分为两个Integer(32位)?

我已经尝试过类似的方法,但是似乎并没有这样做:

val id = Integer.MAX_VALUE.toLong() + 2000
val a = id.toInt()
val b = (id shr 32).toInt()

最佳答案

一切正常。请注意,Integer.MAX_VALUE0x7FFFFFFF,当您添加2000时,它变成0x800007CF,它仍然在32位之内,但是当解释为32位带符号整数时会溢出到负数范围。因此a是负Int,而b0

关于kotlin - 如何在Kotlin中将Long拆分为两个Int?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53218484/

10-11 15:13
查看更多