VS2008,C#。我现在有一字节数组byte[2],里面全是十六进制如byte[0]=0x99;byte[1]=0x77;
先在我要把它转换成int或浮点型,int a=9977;float b=9977.000000;这个该怎么转?各位大哥大姐救救我啊!!

解决方案 »

  1.   

    你是想当然的转换吗?如果十六进制里含有ABCDEF这类超过9的字符,你如何转换为int或浮点型?
      

  2.   

    不会有ABC这类的,这是一份通信协议,传得是几个数据,我要转成float处理在送出去
      

  3.   

    float f = 15;
    byte[] buffer= BitConverter.GetBytes(f);
    Console.WriteLine(BitConverter.ToString(buffer)); 
    Console.WriteLine(BitConverter.ToSingle(buffer, 0)); 
      

  4.   

    有点不太明白,这是转化成int 的 ,float 类似
     byte[] i = new byte[2];
                i[0] = 0x1;
                i[1] = 0x2;
                for (int s = 0; s < 2; s++)
                    Console.WriteLine(Convert.ToInt16 (i[s]));
      

  5.   

    BitConverter.ToInt32(byte[] value,int startIndex)
    BitConverter.ToDouble(byte[] value,int startIndex)
      

  6.   

    byte[] data = new byte[2] { 0x99, 0x77 };
    StringBuilder builder = new StringBuilder();
    foreach (byte t in data)
    {
        builder.Append(t.ToString("X"));
    }
    int a;
    float b;
    int.TryParse(builder.ToString(), out a);
    float.TryParse(builder.ToString(), out b);
      

  7.   

    hello , i come from lyg