各位:
     我想把 【34120000】16进制8位,低位字节在前,如何转换为 【00001234】?请问如何处理的。真郁闷啊~~~

解决方案 »

  1.   

    C#本身就是用Little Endian的,你无须特别转换: byte[] raw = new byte[] { 0x34, 0x12, 0x00, 0x00 };
     int i = BitConverter.ToInt32(raw, 0);
     Console.WriteLine("{0:x8}", i);                          //00001234
    如果需要Little Endian和Big Endian的互相转换,你可以这样: byte[] tmp = BitConverter.GetBytes(i);
     Array.Reverse(tmp);
     int j = BitConverter.ToInt32(tmp, 0);
      

  2.   

    如果你说把34120000转换成00001234我到有办法,虽然可能看起来很苯,可以做个参考
    string str =34120000;
    char [] arrChar =str.ToChar();
    int [] arrInt =new arrInt[arrChar.length()];
    for(int i=0;i<=arrChar.length()-1;i++)
    {
        arrInt[i]=arrChar[i]-84;
        //char类型转换成int就是ASCL玛,所以要减个84,(具体好像是84,我忘了是几,不好意思哈)
    }
    然后
    for(int j=0,j<=arrInt.length(),j++)
    {
        int m=0; 
        for(int n=0,n<=arrInt.length(),n++)
        {
            if(arrInt[j]>=arrInt[n])
            {
                m=arrInt[j];
                arrInt[j]=arrInt[n];
                arrInt[n]=m;
            }
        }
    }
      

  3.   

    还有问题, 请问:
    byte[] raw = new byte[] { 0x34, 0x12, 0x00, 0x00 };
    如何将 [34120000] 这个16进制数转换为 上面那个数组.多谢!
    马上就结贴.
      

  4.   

    2楼太强了
    请问, 如何提高到你这水平.至少要认识 BitConvert 的基本知识点. 请问您是 从什么地方,以什么方式获得的这些信息. 相信这也是大家.最想知道的~不吝赐教~, 加分可以把