浮点数与十六进制数如何互相转换
在C#中,上位机将有发送的浮点数f转换为16进制数
float  f  =  1.2f;
string  s  =  BitConverter.ToString(BitConverter.GetBytes(f)).Replace( "- ",  " ");
在C#中,下位机返回的16进制浮点数,先去除数据“FF FF FF FF”中的空格,
16进制字符串转16进制数组再按2个字符一截取的转换为十进Byte数组后用BitConverter.ToSingle()方法将数据转换为f1,fi.ToString()转换字符串。
//s  =  s.Replace( "  ",  " ");//如果中间有空格
byte[]  arr  =  new  byte[s.Length  /  2];
for  (int  i  =  0;  i  <  s.Length  /  2;  i++)
{
arr[i]  =  Convert.ToByte(s.Substring(i  *  2,  2),  16);
}
float  f1  =  BitConverter.ToSingle(arr,  0);
Text  =  f1.ToString();

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。