Kotlin程序将八进制数与十进制相互转换

Kotlin 实例大全

在此程序中,您将学习使用Kotlin中的函数将八进制数转换为十进制数,十进制数转换为八进制数。

示例1:将小数转换为八进制的程序

fun main(args: Array<String>) {
    val decimal = 78
    val octal = convertDecimalToOctal(decimal)
    println("$decimal 十进制 = $octal in octal")
}

fun convertDecimalToOctal(decimal: Int): Int {
    var decimal = decimal
    var octalNumber = 0
    var i = 1

    while (decimal != 0) {
        octalNumber += decimal % 8 * i
        decimal /= 8
        i *= 10
    }

    return octalNumber
}

运行该程序时,输出为:

78 十进制 = 116 八进制

此转换发生为:

8 | 788 | 9 -- 6
8 | 1 -- 1
8 | 0 -- 1
(116)

示例2:将八进制转换为十进制的程序

fun main(args: Array<String>) {
    val octal = 116
    val decimal = convertOctalToDecimal(octal)
    println("$octal 八进制 = $decimal in decimal")
}

fun convertOctalToDecimal(octal: Int): Int {
    var octal = octal
    var decimalNumber = 0
    var i = 0

    while (octal != 0) {
        decimalNumber += (octal % 10 * Math.pow(8.0, i.toDouble())).toInt()
        ++i
        octal /= 10
    }

    return decimalNumber
}

运行该程序时,输出为:

116 八进制 = 78 十进制

此转换发生为:

1 * 82 + 1 * 81 + 6 * 80 = 78

这是等效的Java代码:将八进制与十进制相互转换的Java程序

Kotlin 实例大全