English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans ce programme, vous allez apprendre à utiliser les fonctions dans Kotlin pour convertir des nombres binaires en nombres octaux et vice versa.
Dans ce programme, nous allons d'abord convertir le nombre binaire en nombre décimal. Ensuite, le nombre décimal est converti en nombre octal.
fun main(args: Array<String>) { val binary: Long = 101001 val octal = convertBinarytoOctal(binary) println("$binary 二进制 = $octal en octal") } fun convertBinarytoOctal(binaryNumber: Long): Int { var binaryNumber = binaryNumber var octalNumber = 0 var decimalNumber = 0 var i = 0 while (binaryNumber.toInt() != 0) { decimalNumber += (binaryNumber % 10 * Math.pow(2.0, i.toDouble())).toInt() ++i binaryNumber /= 10 } i = 1 while (decimalNumber != 0) { octalNumber += (decimalNumber % 8 * i decimalNumber /= 8 i *= 10 } return octalNumber }
Lorsque ce programme est exécuté, la sortie est :
101001 Binaire = 51 Décimal
Cette conversion se produit comme suit :
Binaire en décimal 1 * 25 + 0 * 24 + 1 * 23 + 0 * 22 + 0 * 21 + 1 * 20 = 41 Décimal en octal 8 | 418 | 5 -- 1 8 | 0 -- 5 (51)
Dans ce programme, le nombre octal est d'abord converti en nombre décimal. Ensuite, le nombre décimal est converti en nombre binaire.
fun main(args: Array<String>) { val octal = 67 val binary = convertOctalToBinary(octal) println("$octal 十进制 = $binary in binary") } fun convertOctalToBinary(octalNumber: Int): Long { var octalNumber = octalNumber var decimalNumber = 0 var i = 0 var binaryNumber: Long = 0 while (octalNumber != 0) { decimalNumber += (octalNumber % 10 * Math.pow(8.0, i.toDouble())).toInt() ++i octalNumber /= 10 } i = 1 while (decimalNumber != 0) { binaryNumber += (decimalNumber % 2 * .toLong() decimalNumber /= 2 i *= 10 } return binaryNumber }
Lorsque ce programme est exécuté, la sortie est :
67 Décimal = 110111 Binaire
Cette conversion se produit comme suit :
De octal à décimal 6 * 81 + 7 * 80 = 55 De décimal à binaire 2 | 552 | 27 -- 1 2 | 13 -- 1 2 | 6 -- 1 2 | 3 -- 0 2 | 1 -- 1 2 | 0 -- 1 (110111)
Voici le code Java équivalent :Programme Java pour convertir un binaire en octal et inversement