Kotlin Program to Convert HexaDecimal Number to Binary

Greetings!
We have recently published 100+ articles on android tutorials with kotlin and java. If you need, you may visit Android Tutorial for beginners page. You can also check Kotlin Tutorial for beginners. Also, if you are interested in content writing, you can mail us at tutorialwing@gmail.com.

Given an HexaDecimal number as input. Now, write a Kotlin program to convert HexaDecimal number to Binary.

Input:
7

Output:
111
Input:
120

Output:
001010000
Input:
A1

Output:
10100001

1. Program to Convert HexaDecimal to Binary

Pseudo Algorithm
  • Initialize a variable binaryNum with empty string.
  • Now, convert each digit of hexaDecimal number into binary and append it to binaryNum.
  • Repeat till last digit of the hexaDecimal number.
  • Finally, binaryNum will contain binary representation of hexaDecimal number.

Sourcecode –

fun main() {

    println("Enter n:")
    val hexaDecimalN = readLine()!!

    if(checkHexaDecimalNumber(hexaDecimalN)) {

        var i = 0
        var binaryNum = ""
        while(i < hexaDecimalN.length) {
            when(hexaDecimalN[i]) {
                '0'  -> binaryNum += "0000"
                '1'  -> binaryNum += "0001"
                '2'  -> binaryNum += "0010"
                '3'  -> binaryNum += "0011"
                '4'  -> binaryNum += "0100"
                '5'  -> binaryNum += "0101"
                '6'  -> binaryNum += "0110"
                '7'  -> binaryNum += "0111"
                '8'  -> binaryNum += "1000"
                '9'  -> binaryNum += "1001"
                'A', 'a'  -> binaryNum += "1010"
                'B', 'b'  -> binaryNum += "1011"
                'C', 'c'  -> binaryNum += "1100"
                'D', 'd'  -> binaryNum += "1101"
                'E', 'e'  -> binaryNum += "1110"
                'F', 'f'  -> binaryNum += "1111"
            }
            i++
        }
        println("Equivalent Binary : $binaryNum")
    } else {
        println("$hexaDecimalN is not a hexaDecimal number")
    }
}

private fun checkHexaDecimalNumber(hexaDecimalNum: String): Boolean {
    var isHexaDecimalNum = true

    for(charAtPos in hexaDecimalNum) {
        if(!(
                       ((charAtPos >= '0') && (charAtPos <= '9'))
                    || ((charAtPos >= 'A') && (charAtPos <= 'F'))
                    || ((charAtPos >= 'a') && (charAtPos <= 'f'))
            )) {
            isHexaDecimalNum = false
            break
        }
    }
    return isHexaDecimalNum
}

When you run the program, output will be –

Enter n:
12
Equivalent Binary : 00010010
Explanation:

We just extract each digit from the original hexaDecimal number. Then, we converted that digit into binary and appended it with binaryNum
variable. Finally, binaryNum contains binary representation of the hexaDecimal number.

Note that we have used 4 digits binary number for each digit of hexaDecimal number. Can you tell me why?

Let me know in the comment section 🙂

Thus, we went through Kotlin Program to Convert HexaDecimal Number to Binary Number.

Support Us

If you like Tutorialwing and would like to contribute, you can email an article on any educational topic at tutorialwing@gmail.com. We would love to publish your article. See your article on Tutorialwing and help others with your knowledge. Follow Facebook, LinkedIn, Google+, Twitter, Youtube for latest updates.
Greetings!
We have recently published 100+ articles on android tutorials with kotlin and java. If you need, you may visit Android Tutorial for beginners page. You can also check Kotlin Tutorial for beginners