如何在Kotlin中将Long拆分为两个Int?

时间:2018-11-09 01:19:21

标签: kotlin

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

我已经尝试过类似的操作,但似乎并没有这样做:

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

1 个答案:

答案 0 :(得分:2)

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