static void Main(string[] args) {
int i = 60;
string s = "";
while (i>0) {
s = (i % 2).ToString() + s;
i /= 2;
}
Console.WriteLine(Convert.ToString(60, 2));//c#转换方法
Console.WriteLine(s);
}
Given an integer, write an algorithm to convert it to hexadecimal. For negative integer, two’s complement method is used.
Note:
a-f
) must be in lowercase.0
s. 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.Example 1:
Input: 26 Output: "1a"
Example 2:
Input: -1 Output: "ffffffff"
Subscribe to see which companies asked this question
对于负数,先进行预处理,位取反后加1
public class Solution {
public string ToHex(int num) {
if (num == 0)
{
return "0";
}
long number = Convert.ToInt64(num);
if (number < 0)
{
number = UInt32.MaxValue + number + 1;//取反+1
}
char[] hex = { ‘0‘, ‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘, ‘6‘, ‘7‘, ‘8‘, ‘9‘, ‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘f‘ };
string hexString = "";
long n = 0;
char c = ‘ ‘;
while (number > 0)
{
n = number % 16;
c = hex[n];
hexString = c + hexString;
number /= 16;
}
return hexString;
}
}
405.十进制转换成十六进制 Convert a Number to Hexadecimal
原文:http://www.cnblogs.com/xiejunzhao/p/4ed044d7622df0ceeddb2a291ca8d073.html