例如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");
麻烦知道怎么做的,传授一下
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");
麻烦知道怎么做的,传授一下
byte[] arr = BitConverter.GetBytes(f);
foreach(byte bt in arr)
{
str += Convert.ToString(bt,16);
}
如0.40000001,表示成4各字节的字符串为cdcccc3e
如果你直接输入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