Python digit to binary

Python | Decimal to binary list conversion

The conversion of a binary list to a decimal number has been dealt in a previous article. This article aims at presenting certain shorthand to do the opposite, i.e binary to decimal conversion. Let’s discuss certain ways in which this can be done.

Method #1 : Using list comprehension + format() In this method, the conversion of the decimal to binary is handled by the format function. The logic of conversion to the list is done by the list comprehension function.

Python3

The original number is : 38 The converted binary list is : [1, 0, 0, 1, 1, 0]

Method #2 : Using bin() + list comprehension The inbuilt function bin performs the function of conversion to binary and the list comprehension handles the logic to convert the binary number to the list.

Читайте также:  Css и html 2020

Python3

The original number is : 38 The converted binary list is : [1, 0, 0, 1, 1, 0]

Method #3 : Using while

to convert a decimal number to a binary list in Python is to use bit manipulation operations to extract the binary digits from the decimal number and append them to a list.

Python3

The original number is : 0 The converted binary list is : [1, 0, 0, 1, 1, 0]

Method #4: Using Recursion:

1.Start with a non-negative decimal number n.
2.If n is 0, return an empty list, as there are no binary digits to represent 0.
3.Otherwise, divide n by 2 using integer division // to get the quotient q and the remainder r.
4.Call the dec_to_bin function recursively with q as the input, and append the remainder r to the result.
5.The base case of n being 0 will eventually be reached, at which point an empty list will be returned.
6.As the recursive calls return, the remainders are accumulated in the result list, representing the binary digits of n.
7.Once the final recursive call returns, the result list contains the binary representation of n, with the least significant digit at the end of the list.
8.Return the result list.

Python3

The original number is: 38 The converted binary list is: [1, 0, 0, 1, 1, 0]

Time Complexity:
The time complexity of this algorithm is O(log n), where n is the decimal input number. The algorithm repeatedly divides the input by 2 and the number of times it can be divided before reaching the base case of 0 is proportional to the logarithm of the input.

Читайте также:  Php количество всех вхождений подстрок

Space Complexity:
The space complexity of this algorithm is also O(log n), as the size of the recursive call stack is proportional to the number of times the input can be divided by 2 before reaching the base case.

Method #5: Using bitwise operators

Step by step approach:

Initialize a variable “result” to an empty list.
Create a variable “bit” and set it equal to 1.
Loop until the test_num becomes 0.
Within the loop, use bitwise AND operator (&) to check if the rightmost bit of test_num is 1.
If the result of the bitwise AND operation is 1, append 1 to the “result” list. Otherwise, append 0.
Shift the bits of test_num to the right by 1 using the bitwise right shift operator (>>).
Double the value of “bit” using the bitwise left shift operator (<<).
Once the loop is complete, reverse the “result” list to get the binary representation of the decimal number.
Print the binary representation.

Источник

Convert Decimal to Binary in Python

Python Certification Course: Master the essentials

Base ten digits, ranging from 0 to 9, are used in the decimal or «denary» binary counting system. It is the most widely used system of numbering. Every digit in this system has a place and a decimal point. On the other hand, the binary system employs integers in base two, ranging from 0 to 1. It is the most straightforward system because it has two digits: 0 and 1. As a result, it is common for experts in computer programming or other related engineering fields to need to transform decimal code to binary.

Introduction

Binary is one of the most important foundational aspects of Computers and other Digital Systems. As we humans use languages to understand and communicate with each other, Computers and other Digital Systems use Binary. It is a base-2 number system with only two numbers, 0 & 1 , corresponding to ON & OFF states that your computer can understand.

As normal humans have ten fingers to represent a simple number system called Decimal, computers have these ON & OFF states representing Binary. So to understand and interpret the Binary, we need some technique to convert binary code into decimal (human-readable) code and vice versa. Thus, this article will discuss how to convert Decimal to Binary and vice versa, in context with one of the computer programming languages, Python.

Decimal to Binary Python

Understanding Decimal and Binary

Decimal System(Base-10) uses ten numbers ranging from 0 to 9 and then uses their combinations to form digits, with each digit being worth ten times more than the last digit (1, 10, 100, so-on) going from left to right.

  • Here, 265 is a combination of numbers ranging from 0 to 9 to form each digit
  • Each digit is ten times more than the last digit going from left to right 5 -> 5×100; 6 -> 6×101; 2 -> 2×102

Binary System(Base-2) is also similar. It is a combination of numbers 0 or 1, with each digit worth two times more than the last digit(1, 2, 4, so-on) going from left to right.

Decimal Digit Representation:

[0 to 9] [0 to 9] [0 to 9] [0 to 9] [0 to 9]
1 0 4 10^4 1 0 4 1 0 3 10^3 1 0 3 1 0 2 10^2 1 0 2 1 0 1 10^1 1 0 1 1 0 0 10^0 1 0 0
N t h N^ N t h digit 5 t h 5^ 5 t h digit 4 t h 4^ 4 t h digit 3 r d 3^ 3 r d digit 2 n d 2^ 2 n d digit 1 s t 1^ 1 s t digit

Binary Digit Representation:

[0 or 1] [0 or 1] [0 or 1] [0 or 1] [0 or 1]
2 4 2^4 2 4 2 3 2^3 2 3 2 2 2^2 2 2 2 1 2^1 2 1 2 0 2^0 2 0
N t h N^ N t h digit 5 t h 5^ 5 t h digit 4 t h 4^ 4 t h digit 3 r d 3^ 3 r d digit 2 n d 2^ 2 n d digit 1 s t 1^ 1 s t digit

Binary to Decimal Conversion in Python

We have already seen that the Binary System is a combination of [0 or 1], with each digit worth two times more than the last digit, so let’s see how this information will help us convert binary to decimal equivalent.

Consider a Binary Number 01011

( 0 1 0 1 1 ) 2 = ( 0 × 2 4 ) + ( 1 × 2 3 ) + ( 0 × 2 2 ) + ( 1 × 2 1 ) + ( 1 × 2 0 ) = ( 0 ) + ( 8 ) + ( 0 ) + ( 2 ) + ( 1 ) = ( 1 1 ) 1 0 (01011)^2 = (0×2^4) + (1×2^3) + (0×2^2) + (1×2^1) + (1×2^0) = (0)+(8)+(0)+(2)+(1) =(11)_ <10>( 0 1 0 1 1 ) 2 = ( 0 × 2 4 ) + ( 1 × 2 3 ) + ( 0 × 2 2 ) + ( 1 × 2 1 ) + ( 1 × 2 0 ) = ( 0 ) + ( 8 ) + ( 0 ) + ( 2 ) + ( 1 ) = ( 1 1 ) 1 0 ​

Therefore, the binary(base-2) ( 0 1 0 1 1 ) 2 (01011)_2 ( 0 1 0 1 1 ) 2 ​ is equivalent to ( 1 1 ) 1 0 (11)_ ( 1 1 ) 1 0 ​ Decimal(base-10) number.

Convert Binary to Decimal in Python

We will see how to convert binary to Decimal in Python using a built-in function.

Built-in Function in Python to convert Binary to Decimal:

In Python, we can use the int() function to convert a binary to its decimal value. The int() function takes 2 arguments, a value and the base of the number to be converted, which is 2 in the case of binary numbers

Decimal to Binary Conversion in Python

Let’s try to understand the Decimal to binary conversion. The easiest technique to convert the decimal numbers to their binary equivalent is the Division by 2 .

In Division by 2 technique, we continuously divide a decimal number by 2 and note the reminder till we get 1 as our input value. Then we read the noted reminders in reverse order to get the final binary value.

Let’s break the earlier statements to get more clarity. Assume we have a special function that divides the input number by 2 and gives the remainder as output. For Decimal to Binary, we call this special function multiple times till we get the 1 as the input value. Then, we finally print all the saved reminders to get the final binary(base-2) value.

Python Decimal to Binary

Converting Decimal To Binary in Python

Now we will see how to code the Decimal to Binary in Python. We will first try to code the technique we learned using a custom recursive function call in Python.

1. Custom Recursive Function in Python to convert Decimal to Binary:

In this sample, we will write the special function(DecimalToBinary) to implement for obtaining quotients(input to next function call) and the remainder(output value), and then we will call it repeatedly till the input value is greater than and equal to 1

Apart from this, Python also provides a built-in function to convert Decimal to Binary.

2. Built-in Function in Python to convert Binary to Decimal:

In Python, we can simply use the bin() function to convert from a decimal value to its corresponding binary value. The bin() takes a value as its argument and returns a binary equivalent.

Note: bin() return binary value with the prefix 0b , so depending on the use-case, formatting should be done to remove 0b .

We can also convert Decimal to Binary in another way apart from using the built-in function from Python.

3. Without using Built-in Function in Python to convert Binary to Decimal:

Conclusion

  1. Most Computers and Digital systems use binary because of their reliable storing of data.
  2. The Decimal system (base-10) uses a combination of numbers from 0 to 9 to form digits, with each digit being worth ten times more than the last digit.
  3. The Binary system (base-2) uses a combination of 0 or 1 to form digits, with each digit being worth two times more than the last digit.
  4. Binary to Decimal conversion is each digit’s weighted sum (2i x ith-value) .
  5. Binary to Decimal in Python can be performed using the built-in function int(, )
  6. Decimal to Binary conversion is achieved using the Division By 2 technique.

Some of the ways to convert Decimal to Binary in Python are by using a custom recursive function, built-in functionbin() or using “”.format(int()).

Источник

convert decimal to binary in Python

In this post, we are going to convert decimal to binary in Python with examples using built-in bin(), format() and f-string and recursion.

1.Bin() function convert decimal to binary in Python

In this example, we are using the bin() function to convert binary to decimal. It adds “0b” as the prefix of string representation using replace() to replace “0b” to ” “.

Python 3 program to convert Decimal to binary

def Dec_to_bin(num): decimal_num = bin(num).replace("0b", "") print(decimal_num) Dec_to_bin(13)

3. F-string to decimal to binary

In this example we are going to learn f-string. Python version 3.6 introduced the formatted string literal also known as “f-string”.The“f-string” is used for formatting the string and is easy to use and readable. To use it we have to start the string with “F” or “F” before quotation marks and write a Python expression or variable that contains literal values between < >that are evaluated at runtime.

Python Program to convert decimal to binary

num = 45 decimal_num = f"" print(decimal_num)

4. Recursion to Convert decimal to binary in Python

In this example, we are recursively converting decimal to binary in Python by defining a custom function dec_tobin() and calling it recursively.

Python Program to Convert decimal to binary

def dec_tobin(val): if val >= 1: dec_tobin(val // 2) print(val % 2, end = '') dec_tobin(45)

5. While loop to Convert decimal to binary in Python

In this example, we are using a while loop to Convert decimal to binary in Python.

Python Program Example

decNum = int(input("Please Enter a decimal number \n")) bin_val = 0 count = 0 tval = decNum while(tval > 0): bin_val = ((tval%2)*(10**count)) + bin_val tval = int(tval/2) count += 1 print("Binary of is: ".format(decnum=decNum,bin_val=bin_val))
Please Enter a decimal number 35 Binary of 35 is: 100011

Summary

In this post, we have learned how to convert decimal to binary in Python with examples by using built-in bin(), format(), and f-string and recursively.

Источник

Оцените статью