Posted on by Kalkicode
Code Conversion

# Convert Binary to Hexadecimal number

Binary and hexadecimal are two different number systems used to represent numbers in computing. Binary is a base-2 number system that uses only two digits, 0 and 1, to represent numbers. Hexadecimal is a base-16 number system that uses 16 digits, from 0 to 9 and A to F, to represent numbers.

To convert a binary number to a hexadecimal number, we can group the binary digits into sets of four, starting from the rightmost digit. If the number of digits is not a multiple of four, we can add leading zeros to make it so. Then, we can convert each set of four binary digits to a single hexadecimal digit using the following table:

00000
00011
00102
00113
01004
01015
01106
01117
10008
10019
1010A
1011B
1100C
1101D
1110E
1111F

We can then write the hexadecimal digits in order, starting from the leftmost digit, to get the hexadecimal representation of the binary number.

For example, to convert the binary number 11011011 to hexadecimal, we can group the binary digits into sets of four: 1101 1011. Then we can convert each set of four binary digits to a single hexadecimal digit: D B. Therefore, the hexadecimal representation of the binary number 11011011 is DB.

## Program Solution

``````//C Program
//Convert Binary to Hexadecimal number
#include <stdio.h>

//Reverse the given character array by given indexes
void reverse(char str[], int start, int end)
{
char temp;
for (start; start < end; start++, end--)
{
temp = str[start];
str[start] = str[end];
str[end] = temp;
}
}
//Convert decimal to hexadecimal
void decimal_hexadecimal(int number, char result[])
{
int digit = 0;
int index = 0;
while (number != 0)
{
digit = number % 16;
if (digit < 0)
{
digit = -digit;
}
if (digit < 10)
{
//48 ASCII of '0'
result[index] = digit + 48;
}
else if (digit > 10)
{
//55 ASCII of '7'
result[index] = digit + 55;
}
index++;
number /= 16;
}
if (index >= 1)
{
result[index] = '\0';
reverse(result, 0, index - 1);
}
}
void binary_to_hexadecimal(long long number)
{
int result = 0, counter = 0;
int flag = 0;
if (number < 0)
{
flag = 1;
}
printf("Binary : %lld ", number);
//Convert binary to decimal
while (number != 0)
{
if ((number & 1) == 0b1)
{
result += (1 << (counter));
}
counter++;
number /= 10;
}
//Store hexa decimal values
//Assume that result is under 15 characters
char output[15];
//Convert decimal to hexa decimal
if (flag == 0)
{
printf(" Hexadecimal : %s \n", output);
}
else
{
printf(" Hexadecimal : -%s \n", output);
}
}
int main()
{
//Test Case
//Pass a decimal number which is contain binary values
return 0;
}```
```

#### Output

``````Binary : 1111  Hexadecimal : F
Binary : 10111  Hexadecimal : 17
Binary : 101011  Hexadecimal : 2B
Binary : 11011  Hexadecimal : 1B
Binary : -1000110  Hexadecimal : -46``````
``````/*
C++ Program
Convert Binary to Hexadecimal number
*/
#include<iostream>

using namespace std;
class MyNumber
{
public:
//Convert decimal to hexadecimal
{
string result = "";
int digit = 0;
int index = 0;
while (number != 0)
{
digit = number % 16;
if (digit < 0)
{
digit = -digit;
}
if (digit < 10)
{
//48 ASCII of '0'
result = (char)(digit + 48) + result;
}
else if (digit > 10)
{
//55 ASCII of '7'
result = (char)(digit + 55) + result;
}
index++;
number /= 16;
}
return result;
}
{
int result = 0, counter = 0;
cout << "Binary : " << number;
bool flag = false;
if (number < 0)
{
flag = true;
}
//Convert binary to decimal
while (number != 0)
{
if ((number & 1) == 0b1)
{
result += (1 << (counter));
}
counter++;
number /= 10;
}
//Convert decimal to hexa decimal
string output = this->decimal_hexadecimal(result);
if (flag == true)
{
//When negative element exist
output = "-" + output;
}
cout << " Hexadecimal : " << output << " \n";
}
};
int main()
{
MyNumber obj =  MyNumber();
//Test Cases
//Pass a decimal number which is contain binary values
return 0;
}```
```

#### Output

``````Binary : 1111 Hexadecimal : F
Binary : 10111 Hexadecimal : 17
Binary : 101011 Hexadecimal : 2B
Binary : 11011 Hexadecimal : 1B
Binary : -1000110 Hexadecimal : -46``````
``````/*
Java Program
Convert Binary to Hexadecimal number
*/
public class MyNumber
{

//Convert decimal to hexadecimal
public String decimal_hexadecimal(int number)
{

String result="";

int digit = 0;
int index = 0;

while (number != 0)
{
digit = number % 16;
if (digit < 0)
{
digit = -digit;
}
if (digit < 10)
{
//48 ASCII of '0'
result =(char)(digit + 48) + result;
}
else if (digit > 10)
{
//55 ASCII of '7'
result =(char)(digit + 55) + result;
}
index++;
number /= 16;
}

return result;
}
public void binary_to_hexadecimal(long number)
{
int result = 0, counter = 0;

System.out.print("Binary :  "+ number);

boolean flag = false;
if(number<0)
{
flag=true;
}

//Convert binary to decimal
while (number != 0)
{
if ((number & 1) == 0b1)
{
result += (1 << (counter));
}
counter++;
number /= 10;
}

//Convert decimal to hexa decimal

if(flag==true)
{
//When negative element exist
output="-"+output;
}
System.out.print(" Hexadecimal : "+output+" \n" );
}
public static void main(String[] args)
{
MyNumber obj = new MyNumber();
//Test Cases
//Pass a decimal number which is contain binary values
}
}```
```

#### Output

``````Binary : 1111 Hexadecimal : F
Binary : 10111 Hexadecimal : 17
Binary : 101011 Hexadecimal : 2B
Binary : 11011 Hexadecimal : 1B
Binary : -1000110 Hexadecimal : -46``````
``````/*
C# Program
Convert Binary to Hexadecimal number
*/
using System;
public class MyNumber
{
//Convert decimal to hexadecimal
public String decimal_hexadecimal(int number)
{
String result = "";
int digit = 0;
int index = 0;
while (number != 0)
{
digit = number % 16;
if (digit < 0)
{
digit = -digit;
}
if (digit < 10)
{
//48 ASCII of '0'
result = (char)(digit + 48) + result;
}
else if (digit > 10)
{
//55 ASCII of '7'
result = (char)(digit + 55) + result;
}
index++;
number /= 16;
}
return result;
}
public void binary_to_hexadecimal(long number)
{
int result = 0, counter = 0;
Console.Write("Binary : " + number);
Boolean flag = false;
if (number < 0)
{
flag = true;
}
//Convert binary to decimal
while (number != 0)
{
if ((number & 1) == 0b1)
{
result += (1 << (counter));
}
counter++;
number /= 10;
}
//Convert decimal to hexa decimal
String output = decimal_hexadecimal(result);
if (flag == true)
{
//When negative element exist
output = "-" + output;
}
Console.Write(" Hexadecimal : " + output + " \n");
}
public static void Main(String[] args)
{
MyNumber obj = new MyNumber();
//Test Cases
//Pass a decimal number which is contain binary values
}
}```
```

#### Output

``````Binary : 1111 Hexadecimal : F
Binary : 10111 Hexadecimal : 17
Binary : 101011 Hexadecimal : 2B
Binary : 11011 Hexadecimal : 1B
Binary : -1000110 Hexadecimal : -46``````
``````<?php
/*
Php Program
Convert Binary to Hexadecimal number
*/
class MyNumber
{
//Convert decimal to hexadecimal
{
\$result = "";
\$digit = 0;
\$index = 0;
while (\$number != 0)
{
\$digit = \$number % 16;
if (\$digit < 0)
{
\$digit = -\$digit;
}
if (\$digit < 10)
{
//48 ASCII of '0'
\$result = chr((\$digit + 48)) . \$result;
}
else if (\$digit > 10)
{
//55 ASCII of '7'
\$result = chr((\$digit + 55)) . \$result;
}
\$index++;
\$number = intval(\$number / 16);
}
return \$result;
}
{
\$result = 0;
\$counter = 0;
echo("Binary : ". \$number);
\$flag = false;
if (\$number < 0)
{
\$flag = true;
}
//Convert binary to decimal
while (\$number != 0)
{
if ((\$number & 1) == 0b1)
{
\$result += (1 << (\$counter));
}
\$counter++;
\$number = intval(\$number / 10);
}
//Convert decimal to hexa decimal
if (\$flag == true)
{
//When negative element exist
\$output = "-". \$output;
}
echo(" Hexadecimal : ". \$output ." \n");
}
}

function main()
{
\$obj = new MyNumber();
//Test Cases
//Pass a decimal number which is contain binary values
}
main();```
```

#### Output

``````Binary : 1111 Hexadecimal : F
Binary : 10111 Hexadecimal : 17
Binary : 101011 Hexadecimal : 2B
Binary : 11011 Hexadecimal : 1B
Binary : -1000110 Hexadecimal : -46``````
``````/*
Node Js Program
Convert Binary to Hexadecimal number
*/
class MyNumber
{
//Convert decimal to hexadecimal
{
var result = "";
var digit = 0;
var index = 0;
while (number != 0)
{
digit = number % 16;
if (digit < 0)
{
digit = -digit;
}
if (digit < 10)
{
//48 ASCII of '0'
result = String.fromCharCode((digit + 48)) + result;
}
else
if (digit > 10)
{
//55 ASCII of '7'
result = String.fromCharCode((digit + 55)) + result;
}
index++;
number = parseInt(number / 16);
}
return result;
}
{
var result = 0;
var counter = 0;
process.stdout.write("Binary : " + number);
var flag = false;
if (number < 0)
{
flag = true;
}
//Convert binary to decimal
while (number != 0)
{
if ((number & 1) == 0b1)
{
result += (1 << (counter));
}
counter++;
number = parseInt(number / 10);
}
//Convert decimal to hexa decimal
var output = this.decimal_hexadecimal(result);
if (flag == true)
{
//When negative element exist
output = "-" + output;
}
process.stdout.write(" Hexadecimal : " + output + " \n");
}
}

function main(args)
{
var obj = new MyNumber();
//Test Cases
//Pass a decimal number which is contain binary values
}
main();```
```

#### Output

``````Binary : 1111 Hexadecimal : F
Binary : 10111 Hexadecimal : 17
Binary : 101011 Hexadecimal : 2B
Binary : 11011 Hexadecimal : 1B
Binary : -1000110 Hexadecimal : -46``````
``````#   Python 3 Program
#   Convert Binary to Hexadecimal number

class MyNumber :
# Convert decimal to hexadecimal
def decimal_hexadecimal(self, number) :
result = ""
digit = 0
index = 0
while (number != 0) :
digit = number % 16
if (digit < 0) :
digit = -digit

if (digit < 10) :
# 48 ASCII of '0'
result = chr((digit + 48)) + result
elif (digit > 10) :
# 55 ASCII of '7'
result = chr((digit + 55)) + result

index += 1
number = int(number / 16)

return result

def binary_to_hexadecimal(self, number) :
result = 0
counter = 0
print("Binary : ", number,end="")
flag = False
if (number < 0) :
flag = True

# Convert binary to decimal
while (number != 0) :
if ((number & 1) == 0b1) :
result += (1 << (counter))

counter += 1
number = int(number / 10)

# Convert decimal to hexa decimal
if (flag == True) :
# When negative element exist
output = "-"+ output

print(" Hexadecimal : ", output ," \n")

def main() :
obj = MyNumber()
# Test Cases
# Pass a decimal number which is contain binary values

if __name__ == "__main__": main()```
```

#### Output

``````Binary :  1111 Hexadecimal :  F

Binary :  10111 Hexadecimal :  17

Binary :  101011 Hexadecimal :  2B

Binary :  11011 Hexadecimal :  1B

Binary :  -1000110 Hexadecimal :  -46
``````
``````#   Ruby Program
#   Convert Binary to Hexadecimal number

class MyNumber

# Convert decimal to hexadecimal

result = ""
digit = 0
index = 0
while (number != 0)

digit = number % 16
if (digit < 0)

digit = -digit
end
if (digit < 10)

# 48 ASCII of '0'
result = ((digit + 48)).chr + result
elsif (digit > 10)

# 55 ASCII of '7'
result = ((digit + 55)).chr + result
end
index += 1
number /= 16
end
return result
end

result = 0
counter = 0
print("Binary  :", number)
flag = false
if (number < 0)
number=-number
flag = true
end
# Convert binary to decimal
while (number != 0)

if ((number & 1) == 0b1)

result += (1 << (counter))
end
counter += 1
number /= 10
end
# Convert decimal to hexa decimal
if (flag == true)

# When negative element exist
output = "-"+ output
end
print(" Hexadecimal  :", output ," \n")
end
end
def main()

obj = MyNumber.new()
# Test Cases
# Pass a decimal number which is contain binary values
end
main()```
```

#### Output

``````Binary  :1111 Hexadecimal  :F
Binary  :10111 Hexadecimal  :17
Binary  :101011 Hexadecimal  :2B
Binary  :11011 Hexadecimal  :1B
Binary  :-1000110 Hexadecimal  :-46
``````
``````/*
Scala Program
Convert Binary to Hexadecimal number
*/
class MyNumber
{
//Convert decimal to hexadecimal
def decimal_hexadecimal(num: Int): String = {
var result: String = "";
var digit: Int = 0;
var index: Int = 0;
var number : Int = num;
while (number != 0)
{
digit = number % 16;
if (digit < 0)
{
digit = -digit;
}
if (digit < 10)
{
//48 ASCII of '0'
result = ""+(digit + 48).toChar + (result);
}
else if (digit > 10)
{
//55 ASCII of '7'
result = ""+(digit + 55).toChar + result;
}
index += 1;
number = (number / 16).toInt;
}
return result;
}
def binary_to_hexadecimal(num: Int): Unit = {
var result: Int = 0;
var counter: Int = 0;
var number : Int = num;
print("Binary : " + number);
var flag: Boolean = false;
if (number < 0)
{
flag = true;
}
//Convert binary to decimal
while (number != 0)
{
if ((number & 1) == 1)
{
result += (1 << (counter));
}
counter += 1;
number = (number / 10).toInt;
}
//Convert decimal to hexa decimal
var output: String = decimal_hexadecimal(result);
if (flag == true)
{
//When negative element exist
output = "-" + output;
}
print(" Hexadecimal : " + output + " \n");
}
}
object Main
{
def main(args: Array[String]): Unit = {
var obj: MyNumber = new MyNumber();
//Test Cases
//Pass a decimal number which is contain binary values
}
}```
```

#### Output

``````Binary : 1111 Hexadecimal : F
Binary : 10111 Hexadecimal : 17
Binary : 101011 Hexadecimal : 2B
Binary : 11011 Hexadecimal : 1B
Binary : -1000110 Hexadecimal : -46``````
``````/*
Swift Program
Convert Binary to Hexadecimal number
*/
class MyNumber
{
//Convert decimal to hexadecimal
func decimal_hexadecimal(_ num: Int) -> String
{
var result: String = "";
var digit: Int = 0;
var index: Int = 0;
var number: Int = num;
while (number != 0)
{
digit = number % 16;
if (digit < 0)
{
digit = -digit;
}
if (digit < 10)
{
//48 ASCII of "0"
result = String(UnicodeScalar(UInt8(digit  + 48))) + result;
}
else
if (digit > 10)
{
//55 ASCII of "7"
result = String(UnicodeScalar(UInt8(digit  + 55))) + result;
}
index += 1;
number /= 16;
}
return result;
}
func binary_to_hexadecimal(_ num:  Int)
{
var result: Int = 0;
var counter: Int = 0;
var number: Int = num
print("Binary : ", number,terminator:"");
var flag: Bool = false;
if (number < 0)
{
flag = true;
}
//Convert binary to decimal
while (number != 0)
{
if ((number & 1) == 0b1)
{
result += (1 << (counter));
}
counter += 1;
number /= 10;
}
//Convert decimal to hexa decimal
var output: String = self.decimal_hexadecimal(result);
if (flag == true)
{
//When negative element exist
output = "-" + output;
}
print(" Hexadecimal : ", output ," \n");
}
}
func main()
{
let obj: MyNumber = MyNumber();
//Test Cases
//Pass a decimal number which is contain binary values
}
main();```
```

#### Output

``````Binary :  1111 Hexadecimal :  F

Binary :  10111 Hexadecimal :  17

Binary :  101011 Hexadecimal :  2B

Binary :  11011 Hexadecimal :  1B

Binary :  -1000110 Hexadecimal :  -46
``````

## Comment

Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.

Categories
Relative Post