GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing codescracker.com — Python Program to Convert Binary to Hexadecimal
Python Program to Convert Binary to HexadecimalIn this article, we've created some programs in Python, to convert any binary number entered by user to its equivalent hexadecimal value. Here are the list of programs:
Note - Before creating these programs, if you're not aware about some steps used for the conversion, refer to Binary to Hexadecimal Conversion Steps and Formula to get every required things. Binary to Hexadecimal with User-defined CodeTo convert binary to hexadecimal number in Python, you have to ask from user to enter a number in binary number system to convert that number into hexadecimal number system as shown in the program given here. The question is, write a Python program to convert binary to hexadecimal using while loop. Here is its answer: print("Enter the Binary Number: ") bnum = int(input()) hex = 0 mul = 1 chk = 1 i = 0 hnum = [] while bnum!=0: rem = bnum%10 hex = hex + (rem*mul) if chk%4==0: if hex<10: hex = hex+48 val = chr(hex) hnum.insert(i, val) else: hex = hex+55 val = chr(hex) hnum.insert(i, val) mul = 1 hex = 0 chk = 1 i = i+1 else: mul = mul*2 chk = chk+1 bnum = int(bnum/10) if chk!=1: hex = hex+48 val = chr(hex) hnum.insert(i, val) if chk==1: i = i-1 print("\nEquivalent Hexadecimal Value = ", end="") while i>=0: print(end=hnum[i]) i = i-1 print() Here is the initial output produced by this Python program: Now supply the input say 111011 and press Note - The chr() method is used to returns equivalent character to the Unicode specified as its argument. The insert() method is used to insert an element to the list. Therefore the following statement: hnum.insert(i, val)
can be treated as: hnum[i] = val That is, the value of val variable gets initialized to ith index of hnum list. The dry run of above program, with user input 111011 goes like:
The condition: if chk%4==0:
is applied to check four-four pair of binary digits to convert into its equivalent hexadecimal digit. And the condition: if hex<10:
is applied to check whether the equivalent hexadecimal digit is less than 10 or not. That is, if it is 10, 11, 12, ..., 15. Then we've to store A, B, C, ..., F in place of these. For example, if hex digit is 12, then the condition hex<10 evaluates to be false, therefore its else's counterpart gets executed. And in place of 12 we've to store C. Therefore C gets stored through following block of code: hex = hex+55 val = chr(hex) hnum.insert(i, val) Since hex=12, therefore hex+55 or 12+55 or 67 gets initialized to hex. And chr(hex) returns the corresponding character equals to the Unicode specified as its argument, that is the value of hex, 67. Since 67 is the ASCII value of C. Therefore val = C. And the value of val gets initialized to ith index of hnum. Modified Version of Previous ProgramThis program is the modified version of previous one. The end= is used to skip printing of an automatic newline using print(). print("Enter the Binary Number: ", end="") bnum = int(input()) hex = 0 mul = 1 chk = 1 i = 0 hnum = [] while bnum!=0: rem = bnum%10 hex = hex + (rem*mul) if chk%4==0: if hex<10: hnum.insert(i, chr(hex+48)) else: hnum.insert(i, chr(hex+55)) mul = 1 hex = 0 chk = 1 i = i+1 else: mul = mul*2 chk = chk+1 bnum = int(bnum/10) if chk!=1: hnum.insert(i, chr(hex+48)) if chk==1: i = i-1 print("\nEquivalent Hexadecimal Value = ", end="") while i>=0: print(end=hnum[i]) i = i-1 print() Here is its sample run with user input, 1101110: Binary to Hexadecimal using int() and hex()This program uses int() and hex() methods to do the job of converting binary to hexadecimal. print("Enter the Binary Number: ", end="") bnum = input() b = int(bnum, 2) hdnum = hex(b) print("\nEquivalent Hexadecimal Value = ", hdnum) Here is its sample run with user input 111101 as binary number: While receiving the input, we've not specified the type, therefore the entered value by user gets treated as a string type value. And using int() method with 2 as its second argument, converted the given value into an integer type value of base 2, that is binary number. And using hex() method, the binary number gets converted into its equivalent hexadecimal value. Modified Version of Previous ProgramThis program uses hdnum[2:] to print element(s) starting from second index. That is, the first two characters gets skipped after applying [2:]. And upper() is used to capitalize the lowercase character. print("Enter the Binary Number: ", end="") bnum = input() b = int(bnum, 2) hdnum = hex(b) print("\nEquivalent Hexadecimal Value = ", hdnum[2:].upper()) Here is its sample run with user input, 11100111: Same Program in Other Languages
« Previous Program Next Program » Practice Quizzes
Test your programming and computer science knowledge with interactive MCQs and topic-based quizzes. Popular Topics
Explore the most popular programming and computer science tutorials on CodesCracker. |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |