求一个进制转换的问题
有个10进制数如100,转成16进制,变成64,把64当成10进制使用.这个函数怎么写.100->64
180->B8,关键这个B8无法对应到10进制数. --------------------编程问答-------------------- C# 进制之间的转换 --------------------编程问答--------------------
--------------------编程问答--------------------
int i = 100;
string hex = Convert.ToString(i, 16);
i = Convert.ToInt32(hex);
--------------------编程问答-------------------- 把64当成10进制使用
/// <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;
}
这不是胡闹么。 --------------------编程问答-------------------- 180应该是B4 --------------------编程问答-------------------- Response.Write(toN36(180, 16));
Response.End();
===
Response.Write(toN10("B4", 16));
Response.End(); --------------------编程问答-------------------- 你想实现什么效果呢,转成十六进制,如果出现字母的话确实是不能当十进制用了。
你预想的结果是什么?180转正B4,你希望他看成多大的十进制呢。。。
补充:.NET技术 , C#