例如c++中可以用联合体
union aa
{
   float f;
   char ch[4];
}union aa change;
change.f=12.45;
ch中存放的就是12.45的16进制字符串的表示我能力有限描述的可能不是很清楚,希望高手们能理解
我知道c#中整数转化为16进制字符串是
int i=45;
string s=i.toString("X");
麻烦知道怎么做的,传授一下

解决方案 »

  1.   

    string str = "";
    byte[] arr = BitConverter.GetBytes(f);
    foreach(byte bt in arr)
    {
        str += Convert.ToString(bt,16);
    }
      

  2.   

    我的意思就是将浮点数用16进制字符串表示
    如0.40000001,表示成4各字节的字符串为cdcccc3e
      

  3.   

    f是float类型
    如果你直接输入0.40000001,默认为double,8字节
    可以加后缀表示是float,如
    string str = "";
    byte[] arr = BitConverter.GetBytes(0.40000001F);
    foreach(byte bt in arr)
    {
        str += Convert.ToString(bt,16);
    }
    //str cdcccc3e