Convert to Hexadecimal

Easy
0/40
Average time to solve is 15m
4 upvotes
Asked in companies
FacebookPayPal

Problem statement

You are given an integer N. Your task is to convert the number to its equivalent Hexadecimal.

Note - All letters in Hexadecimal (A-F) must be in uppercase.

For example:

If N = 50, then output will be 32.
If N = -50, then output will be FFFFFFCE.
Detailed explanation ( Input/output format, Notes, Images )

Input format:

The first line of input contains an integer ‘T’ denoting the number of test cases.
Then the T test cases follow.

Each test case contains an integer N.

Output format:

For each test case, return the corresponding Hexadecimal format of the given decimal (integer) number N.
Note :
You are not required to print anything; it has already been taken care of. Just implement the given function.
Constraints :
1 <= T <= 5
-10^4 <= N <= 10^4

Time Limit: 1 sec

Sample Input 1:

3
14
100
-20

Sample Output 1:

E
64
FFFFFFEC

Sample Input 2:

3
45
64
-1

Sample Output 2:

2D
40
FFFFFFFF
Hint

Think about dividing the number by 16 and taking the remainder.

Approaches (1)
Brute-Force

The base value of the Hexadecimal number system is 16.

 

  1. Create an empty string.
  2. If the given number is negative use 2’s complement method.
  3. Divide the number by 16.
  4. If the remainder is between 0 to 9, store it as it is, and if the remainder lies between 10 to 15 convert it in its character form such that 10 to 15 corresponds to A to F.
  5. Store the remainder/character in the string.
  6. Repeat the above 3 steps until the number is greater than 0.
  7. Return the reversed answer string. (which will be the equivalent Hexadecimal number of the given integer).
Time Complexity

O(log16(N)), where N is the input number.

 

As we are dividing the number by 16 so it is taking log16(N) steps.

Space Complexity

O(1), Constant extra space is required.

Code Solution
(100% EXP penalty)
Convert to Hexadecimal
Full screen
Console