【kotlin】如何获得Int二进制字符串并自动左侧补0

kotlin如何获得Int二进制字符串并自动左侧补0

1.实现

在实现kotlin的位运算的时候需要固定位数, 所以在拿到二进制字符串的时候有左侧补0的需求, 那么如何实现呢

  • 首先拿到Int的二进制字符串
fun getByteStr(byteInt: Int): String =
        Integer.toBinaryString(byteInt)

kotlin 的二进制表示为: 0b00, 0b01

  • 固定位数可以使用String.format
fun getByteStr(byteInt: Int, @IntRange(from = 1) digit: Int): String =
        String.format("%${digit}s", Integer.toBinaryString(byteInt)).replace(" ", "0")
  • 可以再写个扩展函数
fun Int.getByteStr(): String =
    UtilKInt.getByteStr(this)

fun Int.getByteStr(@IntRange(from = 1) digit: Int): String =
    UtilKInt.getByteStr(this, digit)

2.测试

  • 写个测试类测试一下
class TestUtilKInt {
    @Test
    fun test() {
        (0b11 or 0b100).getByteStr(8).printlog()
        (0b11 or 0b100).getByteStr().printlog()
    }
}

在这里插入图片描述
搞定!

猜你喜欢

转载自blog.csdn.net/weixin_42473228/article/details/131462225
今日推荐