Kotlin 中可以使用位运算符来设置 byte 的高 4 位和低 4 位的值。
假设我们要将一个 byte 类型的变量的高 4 位设置为 0x2,低 4 位设置为 0x5,可以使用如下的位运算:
```kotlin
val originalValue: Byte = 0x00
val high4BitsValue: Byte = 0x20
val low4BitsValue: Byte = 0x05
val newValue = (originalValue and 0xF0.toByte()) or high4BitsValue.toInt().toByte() // 设置高 4 位
newValue = (newValue and 0x0F.toByte()) or low4BitsValue // 设置低 4 位
```
首先,使用 and 运算符和 0xF0.toByte() 操作将原始值的低 4 位清零,得到原始值的高 4 位。然后使用 or 运算符将高 4 位设置为目标值 high4BitsValue。
接着,使用 and 运算符和 0x0F.toByte() 操作将存储高 4 位的新值的高 4 位清零,得到低 4 位的原始值。再次使用 or 运算符将低 4 位设置为目标值 low4BitsValue。
最终的 newValue 即为设置后的结果。