Back to Programming

### Description

The program is written here to convert the decimal number to hexadecimal. The decimal number is taken as input. For conversion, the decimal number is divided by 16, then, the quotient after division is again divided by 16 and this process repeats until the number becomes 0.

For example let the input be 135.

Therefore, the equivalent hexadecimal number is ${\left(87\right)}_{16}$

### Algorithm

INPUT: A decimal number

PROCESS:

Step 1: [Taking the input]

Step 2: [Converting from decimal to hexadecimal]

Set s<-null [A string to store the hexadecimal number]

While d>0 repeat

Set r<- d mod 16

If r≤9 then

Concatenate the value of variable ‘r’ with ‘s’ in reversed order.

Else if r=10 then

Concatenate ‘A’ with ‘s’ in reversed order.

Else if r=11 then

Concatenate ‘B’ with ‘s’ in reversed order.

Else if r=12 then

Concatenate ‘C’ with ‘s’ in reversed order.

Else if r=13 then

Concatenate ‘D’ with ‘s’ in reversed order.

Else if r=14 then

Concatenate ‘E’ with ‘s’ in reversed order.

Else if r=15 then

Concatenate ‘F’ with ‘s’ in reversed order.

Set d<-d/16

[End of ‘while’ loop]

Print "The hexadecimal number is: s”

Step 3: Stop.

## TIME CMPLEXITY:

while(n>0) --------------------------------O(log n)

{

r=n%16;

if(r<=9)

hex[p++]=(char)(r+48);

else if(r==10)

hex[p++]='A';

else if(r==11)

hex[p++]='B';

else if(r==12)

hex[p++]='C';

else if(r==13)

hex[p++]='D';

else if(r==14)

hex[p++]='E';

else if(r==15)

hex[p++]='F';

n=n/16;

}

The time complexity of this program is O(log n) where ‘n’ is the given decimal number.

## SPACE COMPLEXITY:

The space complexity of this program is O(1) as the program requires a constant memory spaces to execute the program.