在此程序中,您將學(xué)習(xí)使用Kotlin中的函數(shù)將八進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù),十進(jìn)制數(shù)轉(zhuǎn)換為八進(jìn)制數(shù)。
fun main(args: Array<String>) {
val decimal = 78
val octal = convertDecimalToOctal(decimal)
println("$decimal 十進(jìn)制 = $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
}運(yùn)行該程序時(shí),輸出為:
78 十進(jìn)制 = 116 八進(jìn)制
此轉(zhuǎn)換發(fā)生為:
8 | 788 | 9 -- 6 8 | 1 -- 1 8 | 0 -- 1 (116)
fun main(args: Array<String>) {
val octal = 116
val decimal = convertOctalToDecimal(octal)
println("$octal 八進(jìn)制 = $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
}運(yùn)行該程序時(shí),輸出為:
116 八進(jìn)制 = 78 十進(jìn)制
此轉(zhuǎn)換發(fā)生為:
1 * 82 + 1 * 81 + 6 * 80 = 78
這是等效的Java代碼:將八進(jìn)制與十進(jìn)制相互轉(zhuǎn)換的Java程序