Kotlin-programma om een ​​binair getal naar een octaal te converteren en vice versa

In dit programma leer je om een ​​binair getal om te zetten naar een octaal getal en vice versa met behulp van functies in Kotlin.

Voorbeeld 1: programma om binair naar octaal te converteren

In dit programma zullen we eerst een binair getal converteren naar een decimaal getal. Vervolgens wordt het decimale getal geconverteerd naar een octaal getal.

 fun main(args: Array) ( val binary: Long = 101001 val octal = convertBinarytoOctal(binary) println("$binary in binary = $octal in 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 )

Wanneer u het programma uitvoert, is de uitvoer:

 101001 in binair = 51 in octaal

Deze conversie vindt plaats als:

Binair naar decimaal 1 * 2 5 + 0 * 2 4 + 1 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0 = 41 decimaal naar octaal 8 | 41 8 | 5 - 1 8 | 0 - 5 (51)

Voorbeeld 2: programma om octaal naar binair te converteren

In dit programma wordt het octale getal eerst decimaal naar decimaal. Vervolgens wordt het decimale getal geconverteerd naar een binair getal.

 fun main(args: Array) ( val octal = 67 val binary = convertOctalToBinary(octal) println("$octal in 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 * i).toLong() decimalNumber /= 2 i *= 10 ) return binaryNumber )

Wanneer u het programma uitvoert, is de uitvoer:

 67 in octaal = 110111 in binair

Deze conversie vindt plaats als:

Octaal naar decimaal 6 * 8 1 + 7 * 8 0 = 55 Decimaal naar binair 2 | 55 2 | 27 - 1 2 | 13 - 1 2 | 6-1 2 | 3-0 2 | 1 - 1 2 | 0-1 (110111)

Hier is de equivalente Java-code: Java-programma om binair naar octaal te converteren en vice versa

Interessante artikelen...