在此程序中,您將學(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)行該程序時,輸出為:
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)行該程序時,輸出為:
116 八進(jìn)制 = 78 十進(jìn)制
此轉(zhuǎn)換發(fā)生為:
1 * 82 + 1 * 81 + 6 * 80 = 78
這是等效的Java代碼:將八進(jìn)制與十進(jìn)制相互轉(zhuǎn)換的Java程序