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?

Your builder path starts here. Builders don't just know how to code, they create solutions that matter.

Escape tutorial hell and ship real projects.

Try Programiz PRO
  • Real-World Projects
  • On-Demand Learning
  • AI Mentor
  • Builder Community