110,538
社区成员
发帖
与我相关
我的任务
分享
/// <summary>
/// 36进制内的数值转10进制
/// </summary>
/// <param name="radixnum"></param>
/// <param name="radix"></param>
/// <returns></returns>
public int toN10(string radixnum, int radix)
{
string _num = "0123456789ABCDEFGHIJKLMNOPQRSTUVWSYZ";
char[] _ary = radixnum.ToCharArray();
int _log = 1;
int sn = 0;
for (int i = _ary.Length - 1; i >= 0; i--)
{
sn = sn + _num.IndexOf(_ary[i]) * _log;
_log = _log * radix;
}
return sn;
}
/// <summary>
/// 10进制转36进制
/// </summary>
/// <param name="n10"></param>
/// <param name="radix"></param>
/// <returns></returns>
private string toN36(int n10, int radix)
{
string _num = "0123456789ABCDEFGHIJKLMNOPQRSTUVWSYZ";
int sn = n10;
string _rul = string.Empty;
while (sn >= radix)
{
_rul = _num.Substring(sn % radix, 1) + _rul;
sn = sn / radix;
}
return _num.Substring(sn % radix, 1) + _rul;
}
int i = 100;
string hex = Convert.ToString(i, 16);
i = Convert.ToInt32(hex);