[kotlin] Cómo obtener una cadena binaria Int y rellenarla automáticamente con 0 a la izquierda

¿Cómo obtiene Kotlin una cadena binaria Int y la rellena automáticamente con 0 a la izquierda?

1. Date cuenta

Al implementar la operación de bits de Kotlin, se requiere un número fijo de dígitos, por lo que al obtener una cadena binaria, es necesario agregar ceros en el lado izquierdo, entonces, ¿cómo implementarlo?

  • Primero obtenga la cadena binaria de Int
fun getByteStr(byteInt: Int): String =
        Integer.toBinaryString(byteInt)

La representación binaria de kotlin es: 0b00, 0b01

  • Los dígitos fijos pueden usar String.format
fun getByteStr(byteInt: Int, @IntRange(from = 1) digit: Int): String =
        String.format("%${digit}s", Integer.toBinaryString(byteInt)).replace(" ", "0")
  • Puedes escribir otra función de extensión.
fun Int.getByteStr(): String =
    UtilKInt.getByteStr(this)

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

2. Prueba

  • Escribe una clase de prueba para probarlo.
class TestUtilKInt {
    @Test
    fun test() {
        (0b11 or 0b100).getByteStr(8).printlog()
        (0b11 or 0b100).getByteStr().printlog()
    }
}

Insertar descripción de la imagen aquí
¡Hecho!

Supongo que te gusta

Origin blog.csdn.net/weixin_42473228/article/details/131462225
Recomendado
Clasificación