# Blogs Hub

### by Sumit Chourasia | Oct 06, 2020 | Category :coding | Tags : algorithmbit-manipulationdata-structureeasyleetcode #### Convert a Number to Hexadecimal - Bit Manipulation - Easy - LeetCode

Given an integer, write an algorithm to convert it to hexadecimal. For negative integer, two’s complement method is used.

Note:

All letters in hexadecimal (a-f) must be in lowercase.
The hexadecimal string must not contain extra leading 0s. If the number is zero, it is represented by a single zero character '0'; otherwise, the first character in the hexadecimal string will not be the zero character.
The given number is guaranteed to fit within the range of a 32-bit signed integer.
You must not use any method provided by the library which converts/formats the number to hex directly.
Example 1:

Input:
26

Output:
"1a"
Example 2:

Input:
-1

Output:
"ffffffff"

``````public class Solution {
public string ToHex(int num) {
if(num==0){
return "0";
}

var map = new char[]{'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
var arr = new char;
int index = 7;
int sum = 0;
int count = 0;
for(int i=0;i<32;i++){
sum+=(int)Math.Pow(2,i%4)*(num&1);
num=num>>1;
count++;
if(count%4==0){
arr[index]=map[sum];
sum=0;
index--;
}
}

var sb = new StringBuilder();
bool digitStarted = false;
for(int i=0;i<arr.Length;i++){
if(arr[i]!='0' && !digitStarted){
digitStarted = true;
sb.Append(arr[i]);
}
else if(digitStarted){
sb.Append(arr[i]);
}
}
return sb.ToString();
}
}``````

Time Complexity: O(n)

Space Complexity: O(n)