Console.WriteLine("5D096315");
int data1111 = int.Parse("5D096315", NumberStyles.HexNumber);
int data1112 = IPAddress.NetworkToHostOrder(data1111);
string strData = data1112.ToString("X");
Console.WriteLine(strData);

解决方案 »

  1.   

    using System;
    using System.Threading;
    using System.Diagnostics;
    using System.Runtime.InteropServices;
    using System.Text;
    using System.Globalization;
    using System.Net;
      

  2.   

    uint i = 0x5D096315;
    byte[] arrs = BitConverter.GetBytes(i);
    Array.Reverse(arrs);
    i = BitConverter.ToUInt32(arrs, 0);
    Console.WriteLine(i.ToString("X2"));
      

  3.   

    如果是保存的字符串
    uint i = uint.Parse("5D096315", System.Globalization.NumberStyles.HexNumber); //0x5D096315;
    byte[] arrs = BitConverter.GetBytes(i);
    Array.Reverse(arrs);
    i = BitConverter.ToUInt32(arrs, 0);
    Console.WriteLine(i.ToString("X2"));
      

  4.   

    BitConverter类...
    var tmp=BitConverter.GetBytes(long.Parse("5D096315",System.Globalization.NumberStyles.HexNumber));
    Array.Reverse(tmp);
    return BitConverter.ToInt64(tmp,0).ToString("X8");
      

  5.   

    可以使用移位运算,因为类型是确定的,所以只需要四次移位就可以得到值了。但是这种转化可能会超过int的最大值0x7fffffff,所以建议使用long型来存储结果。int src = int.Parse("5D096315", NumberStyles.HexNumber);
    int res = 0;
    res |= (src & 0x000000ff) << 24;
    res |= (src & 0x0000ff00) << 8;
    res |= (src & 0x00ff0000) >> 8;
    res |= (int)((src & 0xff000000) >> 24);还有二进制如何用程序实现?
    转换成二进制后有个位移操作能不能用到这里?

    这两个问题不是很清楚楼主想问什么。 int在内存中就是以二进制储存的,计算机中的所有数据都是以二进制储存的,移位操作可以用于这些类型。 但是编译器做了一些事情,让我们对非数值类型不能做移位操作。
      

  6.   

    楼上方法不通用。如果数据是CDC37B,就会出错。
      

  7.   

    粘贴错了。

    DD096315
    10方法就会出错。
    int 的第一位是符号。如果是1,就会按负数方式存储,要用uint
      

  8.   

    12楼的说法是对的,int的第一位是符号,使用uint是一个很好的建议,我那里只是给出一个例子,而且我也说了建议使用更长的类型如long,不过还是uint更好,感谢12楼的细心和建议。由于符号的问题,使用int的确不妥,他的出错范围是:
    80xxxxxx--ffxxxxxx
    xxxxxx80--xxxxxxff前者超过了int的最大上限,后者经过转化后超过了int的最大上限。
    在这里一鼓作气把它改正确:
    uint src = uint.Parse("5D096315", NumberStyles.HexNumber);
    uint res = 0;
    res |= (src & 0x000000ff) << 24;
    res |= (src & 0x0000ff00) << 8;
    res |= (src & 0x00ff0000) >> 8;
    res |= (src & 0xff000000) >> 24;