ByteArray2Long 最后为什么要将 高 32 位与低 32 位进行或运算,求各位解答
private fun ByteArray.pack(offset: Int, len: Int): Long {
var result: Long = 0
val maxOffset = if (len > 8) offset + 8 else offset + len
for (index in offset until maxOffset) {
result = result shl 8 or (this[index].toLong() and 0xffL)
}
return result shr 32 or (result and UINT32_MASK)
}