And*_*age 269
要从十进制转换为十六进制,请...
string hexValue = decValue.ToString("X");
Run Code Online (Sandbox Code Playgroud)
要从十六进制转换为十进制,请执行...
int decValue = int.Parse(hexValue, System.Globalization.NumberStyles.HexNumber);
Run Code Online (Sandbox Code Playgroud)
要么
int decValue = Convert.ToInt32(hexValue, 16);
Run Code Online (Sandbox Code Playgroud)
Jon*_*upp 53
十六进制 - >十进制:
Convert.ToInt64(hexValue, 16);
Run Code Online (Sandbox Code Playgroud)
十进制 - >十六进制
string.format("{0:x}", decValue);
Run Code Online (Sandbox Code Playgroud)
Jes*_*sen 26
看起来你可以说
Convert.ToInt64(value, 16)
Run Code Online (Sandbox Code Playgroud)
从十六进制中获取小数.
另一种方式是:
otherVar.ToString("X");
Run Code Online (Sandbox Code Playgroud)
Vad*_*iak 12
如果要在从十六进制转换为十进制数时获得最大性能,可以使用预先填充的十六进制到十进制值表的方法.
以下是说明该想法的代码.我的性能测试表明,它比Convert.ToInt32(...)快20%-40%:
class TableConvert
{
static sbyte[] unhex_table =
{ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,-1,-1,-1,-1,-1,-1
,-1,10,11,12,13,14,15,-1,-1,-1,-1,-1,-1,-1,-1,-1
,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
,-1,10,11,12,13,14,15,-1,-1,-1,-1,-1,-1,-1,-1,-1
,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
};
public static int Convert(string hexNumber)
{
int decValue = unhex_table[(byte)hexNumber[0]];
for (int i = 1; i < hexNumber.Length; i++)
{
decValue *= 16;
decValue += unhex_table[(byte)hexNumber[i]];
}
return decValue;
}
}
Run Code Online (Sandbox Code Playgroud)
// Store integer 182
int decValue = 182;
// Convert integer 182 as a hex in a string variable
string hexValue = decValue.ToString("X");
// Convert the hex string back to the number
int decAgain = int.Parse(hexValue, System.Globalization.NumberStyles.HexNumber);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
323612 次 |
| 最近记录: |