利用Api转换 int,long,uint这样的类型数据需要怎么做啊?

解决方案 »

  1.   

    LZ是指这样么?public unsafe static void SetInt(byte[] buffer, int start, ref int value) {
                if (start + 4 > buffer.Length) throw new Exception("目标缓冲区长度不够");
                IntPtr dp;
                IntPtr sp;
                fixed (byte* ds = &buffer[start]) {
                    fixed (int* sr = &value) {
                        dp = (IntPtr)ds;
                        sp = (IntPtr)sr;
                        CopyMemory(sp, dp, 4);
                    }
                }
            }
    需要添加一些引用,而且需要设置项目属性,unsafe
      

  2.   

     public static int Bytes2int(byte[] b)
            {
                int res = 0;
                for (int i = 3; i >= 0; i--)
                {
                    res <<= 8;
                    res |= (int)b[i];
                }
                return res;
            }
            /// <summary>
            /// 整数转换为4字节
            /// </summary>
            /// <param name="num">整数</param>
            /// <returns>Byte[]</returns>
            public static byte[] Int2bytes(int num)
            {
                byte[] b = new byte[4];
                for (int i = 0; i < 4; i++)
                {
                    b[i] = (byte)(num >> i * 8);
                }
                return b;
            }
    这个是位移转换的形式
      

  3.   

    去这个地址接分吧,加不了分。
    谢谢了http://topic.csdn.net/u/20071223/10/26c6b903-55df-4755-8f2c-8d8df241879b.html