English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Coleção Completa de Exemplos de Kotlin
Neste programa, você aprenderá a usar funções no Kotlin para converter números binários para octais e vice-versa.
Neste programa, primeiro convertiremos o número binário para decimal. Em seguida, o número decimal será convertido para octal.
fun main(args: Array<String>) { val binary: Long = 101001 val octal = convertBinarytoOctal(binary) println("$binary Binário = $octal em 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 }
Quando você executar o programa, a saída será:
101001 Binário = 51 Decimal
Esta conversão ocorre em:
Binário para decimal 1 * 25 + 0 * 24 + 1 * 23 + 0 * 22 + 0 * 21 + 1 * 20 = 41 Decimal para octal 8 | 418 | 5 -- 1 8 | 0 -- 5 (51)
Neste programa, o número octal é primeiro convertido para decimal. Em seguida, o número decimal é convertido para binário.
fun main(args: Array<String>) { val octal = 67 val binary = convertOctalToBinary(octal) println("$octal 十进制 = $binary em binário") } 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 }
Quando você executar o programa, a saída será:
67 Decimal = 110111 Binário
Esta conversão ocorre em:
De octal para decimal 6 * 81 + 7 * 80 = 55 De decimal para binário 2 | 552 | 27 -- 1 2 | 13 -- 1 2 | 6 -- 1 2 | 3 -- 0 2 | 1 -- 1 2 | 0 -- 1 (110111)
Este é o código Java equivalente:Programa Java para converter binário para octal e vice-versa