日期:2014-05-17  浏览次数:20485 次

如何将二进制转化成十六进制
  在网上看了转成十六进制是这样写的string.Format("{0:X}", Convert.ToInt32(1111111, 2));结果是字符串类型的。我想用int类型保存,比如int aa=0x7F,该怎么实现。。或者怎么把string ss="0x7F"转化成 int cc=0x7F.
二进制

------解决方案--------------------
引用:
Quote: 引用:

int,没有十六进制还是十进制一说。


            string ss = "0x7F";
            int a = int.Parse(ss.Substring(2), NumberStyles.HexNumber);

您这里得到的是7F,我想得到0x7F.


int 没有0x这一说,没有十进制还是十六进制这一说,只有格式化成字符串后才有这一说。
------解决方案--------------------
可以肯定楼主不是学计算机的,计算机里面只有二进制,十进制、十六进制都是给人看的,必然是字符串
------解决方案--------------------
引用:
可以肯定楼主不是学计算机的,计算机里面只有二进制,十进制、十六进制都是给人看的,必然是字符串


  
------解决方案--------------------
很简单,自己写一个程序,批量修改你的代码文件就可以了

提交各进制转换的代码给你,自已发挥吧

    /// <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)