如何在Kotlin中将Long(64位)拆分为两个Integer(32位)?
我已经尝试过类似的方法,但是似乎并没有这样做:
val id = Integer.MAX_VALUE.toLong() + 2000
val a = id.toInt()
val b = (id shr 32).toInt()
最佳答案
一切正常。请注意,Integer.MAX_VALUE
是0x7FFFFFFF
,当您添加2000
时,它变成0x800007CF
,它仍然在32位之内,但是当解释为32位带符号整数时会溢出到负数范围。因此a
是负Int
,而b
是0
关于kotlin - 如何在Kotlin中将Long拆分为两个Int?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53218484/