Kotlin中的简单数据处理之数字存 ByteArray

Kotlin中的简单数据处理之数字存 ByteArray

就一个简简单单的socket端口号存入ByteArray我搞了一个多小时,记录一下自己的超低效率。
以端口号20000为例,先建立一个ByteArray数组,再分别将端口的高八位和低八位取出转换并存储即可。

//初始化字节数组
var res: ByteArray = ByteArray(2)
//取高八位
 res[0] = (20000.toInt().ushr(8) and 0xFF).toByte()
 //取低位
 res[1] = (20000 and 0xFF).toByte()

Kotlin中位操作总结如下:

shl(bits) – 左移位 (Java’s <<)
shr(bits) – 右移位 (Java’s >>)
ushr(bits) – 无符号右移位 (Java’s >>>)
and(bits) – 与 &
or(bits) – 或 ||
xor(bits) – 异或
inv() – 反向

注意:kotlin中,位运算只能是Int 和 Long类型,所以大部分我们都需要通过toInt()或者toLong()方法转为Int或Long类型

参考:Kotlin中位操作注意事项

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值