exponential in kotlin

fun power(base: Int, exponent: Int): Long {
    require(exponent >= 0) { "Exponent must be non-negative" }

    var result: Long = 1
    var exp = exponent
    var b = base.toLong()

    while (exp > 0) {
        if (exp % 2 == 1) {
            result *= b
        }
        exp /= 2
        b *= b
    }

    return result
}

fun main() {
    val base = 2
    val exponent = 5
    val result = power(base, exponent)
    println("$base^$exponent = $result")
}