Multiple ways to Convert(cast) Binary to/from Decimal in Goland With example code

In these posts, You will learn two programs in the Go language.

  • The first program is to convert Binary Numbers to Decimal Numbers
  • Second program to convert Decimal Numbers to Binary Numbers.

A binary number is a number based on base 2. It contains either zero or one digit. Each digit is called a bit.

Example binary numbers are 1011,10,01.

Decimal Numbers are numbers that contain numbers based on base 10. Example decimal numbers are 12 and 44.

To understand this example, You should have the following features in the Go language.

Golang parses Binary to Decimal Numbers

There are 2 ways to convert binary numbers to decimal numbers.

  • Using strconv ParseInt function
  • Write conversion logic manually without using inbuilt functions

The below programs take input 1 number from a user console and store them in the variable of type binary.

How to convert Binary to a decimal using strconv ParseInt function golang?

The strconv package provides the ParseInt function used to convert binary to decimal numbers.

Here is an example program

package main

import (
    "fmt"
    "strconv"
)

func main() {
    var binary string
    fmt.Print("Enter Binary Number:")
    fmt.Scanln( & binary)
    output, err: = strconv.ParseInt(binary, 2, 64)
    if err != nil {
        fmt.Println(err)
        return
    }

    fmt.Printf("Output %d", output)

}

Output:

Enter Binary Number:1111
Output 15

Manual Custom function to Cast Binary To decimal using for loop

Created my function, inside a function, used for loop with Modulus and Division operator and Math pow function.
Here is an example program

package main

import (
    "fmt"
    "math"
)

func convertBinaryToDecimal(number int) int {
    decimal: = 0
    counter: = 0.0
    remainder: = 0

        for number != 0 {
        remainder = number % 10
        decimal += remainder * int(math.Pow(2.0, counter))
        number = number / 10
        counter++
    }
    return decimal
}

func main() {
    var binary int
    fmt.Print("Enter Binary Number:")
    fmt.Scanln( & binary)

    fmt.Printf("Output %d", convertBinaryToDecimal(binary))

}

Output:

Enter Binary Number:1001
Output 9

How to convert Decimal to Binary Numbers in Golang

We have 2 ways to Convert Decimal to Binary numbers in Golang. The following are two ways

  • using the strconv FormatInt function
  • Manually conversion without using the Inbuilt function

The below program takes decimal input numbers from the user console and stores them in variable type decimal.

How to convert Decimal to Binary using golang strconv FormatInt function example

The inbuilt Standard package strconv provides the FormatInt function used to Convert Decimal to Binary numbers.
Here is an example program

package main

import (
    "fmt"
    "strconv"
)
func main() {
    var decimal int64
    fmt.Print("Enter Decimal Number:")
    fmt.Scanln( & decimal)
    output: = strconv.FormatInt(decimal, 2)
    fmt.Print("Output ", output)

}

Output:

Enter Decimal Number:15
Output 1111

How to Cast Decimal to binary for loop without Golang inbuilt function

The following program uses Golang features such as For loop, Modulus, and division operators.
Here is an example program to do the conversion.

package main

import (
    "fmt"
)

func convertDecimalToBinary(number int) int {
    binary: = 0
    counter: = 1
    remainder: = 0

        for number != 0 {
        remainder = number % 2
        number = number / 2
        binary += remainder * counter
        counter *= 10

    }
    return binary
}

func main() {
    var decimal int
    fmt.Print("Enter Decimal Number:")
    fmt.Scanln( & decimal)

    fmt.Printf("Output %d", convertDecimalToBinary(decimal))

}

Output:

Enter Decimal Number:15
Output 1111

Conclusion

You learned how to convert multiple ways to convert decimal to binary and binary to decimal with an example program.