Kotlin Program to Convert Binary Number to Decimal and vice-versa

Visit this page to learn how to convert binary number to decimal.

Example 1: Program to convert binary number to decimal

fun main(args: Array<String>) {
    val num: Long = 110110111
    val decimal = convertBinaryToDecimal(num)
    println("$num in binary = $decimal in decimal")
}

fun convertBinaryToDecimal(num: Long): Int {
    var num = num
    var decimalNumber = 0
    var i = 0
    var remainder: Long

    while (num.toInt() != 0) {
        remainder = num % 10
        num /= 10
        decimalNumber += (remainder * Math.pow(2.0, i.toDouble())).toInt()
        ++i
    }
    return decimalNumber
}

Output

110110111 in binary = 439 in decimal

Visit this page to learn, how to convert decimal number to binary.

Example 2: Program to Convert Decimal to Binary

We can use the Integer.toBinaryString() method to convert a decimal number to binary.

fun main(args: Array<String>) {
    val num = 19
    
    // converting decimal to binary
    val binary = Integer.toBinaryString(num)
    println("$num in decimal = $binary in binary")
}

Here's the source code to convert a decimal number to binary manually.

Example 3: Convert decimal number to binary Manually

fun main(args: Array<String>) {
    val num = 19
    val binary = convertDecimalToBinary(num)
    println("$num in decimal = $binary in binary")
}

fun convertDecimalToBinary(n: Int): Long {
    var n = n
    var binaryNumber: Long = 0
    var remainder: Int
    var i = 1
    var step = 1

    while (n != 0) {
        remainder = n % 2
        System.out.printf("Step %d: %d/2, Remainder = %d, Quotient = %d\n", step++, n, remainder, n / 2)
        n /= 2
        binaryNumber += (remainder * i).toLong()
        i *= 10
    }
    return binaryNumber
}

When you run the program, the output will be:

Step 1: 19/2, Remainder = 1, Quotient = 9
Step 2: 9/2, Remainder = 1, Quotient = 4
Step 3: 4/2, Remainder = 0, Quotient = 2
Step 4: 2/2, Remainder = 0, Quotient = 1
Step 5: 1/2, Remainder = 1, Quotient = 0
19 in decimal = 10011 in binary

Here's the equivalent Java code: Java Program to convert binary to decimal and vice-versa

Did you find this article helpful?