# 405. Convert a Number to Hexadecimal

## 描述

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

Note:

1.All letters in hexadecimal (a-f) must be in lowercase.

2.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.

3.The given number is guaranteed to fit within the range of a 32-bit signed integer.

4.You must not use any method provided by the library which converts/formats the number to hex directly.

Example 1:

Input:
26

Output:
"1a"

Input:
-1

Output:
"ffffffff"


## 分析

0000 0000 0000 0000 0000 0000 0000 0011


1111 1111 1111 1111 1111 1111 1111 1100


1111 1111 1111 1111 1111 1111 1111 1101


0xfffffffd


class Solution {
public:
string toHex(int num) {
string res;
int low=0,high=0;
char map[16]={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
while(num&&res.size()<8){
res=map[(num&0xf)]+res;
num=num>>4;
}
return res;
}
};


-64
-32
-16
-8
-4
-2
-1
-1
-1
-1


### 学籍管理系统文档

#### 北邮教务系统评教脚本

Published on September 17, 2017

#### 72.Edit distance

Published on September 17, 2017