c脚本怎样把字节数组转换成浮点数
/// /// 将二进制值转ASCII格式十六进制字符串/// /// 二进制值/// 定长度的二进制/// ASCII格式十六进制字符串public static string toHexString(int data, int length){string result = "";if (data > 0)result = Convert。 ToString(data, 16)。ToUpper();if (result。Length /// 将浮点数转ASCII格式十六进制字符串(符合IEEE-754标准(32))/// /// 浮点数值/// 十六进制字符串public stati...全部
/// /// 将二进制值转ASCII格式十六进制字符串/// /// 二进制值/// 定长度的二进制/// ASCII格式十六进制字符串public static string toHexString(int data, int length){string result = "";if (data > 0)result = Convert。
ToString(data, 16)。ToUpper();if (result。Length /// 将浮点数转ASCII格式十六进制字符串(符合IEEE-754标准(32))/// /// 浮点数值/// 十六进制字符串public static string FloatToIntString(float data){byte[] intBuffer = BitConverter。
GetBytes(data);StringBuilder stringBuffer = new StringBuilder(0);for (int i = 0; i /// 将ASCII格式十六进制字符串转浮点数(符合IEEE-754标准(32))/// /// 16进制字符串/// public static float StringToFloat(String data){if (data。
Length 8){//throw new NotEnoughDataInBufferException(data。length(), 8);return 0;}else{byte[] intBuffer = new byte[4];// 将16进制串按字节逆序化(一个字节2个ASCII码)for (int i = 0; i /// 将byte数组转为浮点数/// /// byte数组/// public static float ByteToFloat(byte[] bResponse){if (bResponse。
Length 4){//throw new NotEnoughDataInBufferException(data。length(), 8);return 0;}else{byte[] intBuffer = new byte[4];//将byte数组的前后两个字节的高低位换过来intBuffer[0] = bResponse[1];intBuffer[1] = bResponse[0];intBuffer[2] = bResponse[3];intBuffer[3] = bResponse[2];return BitConverter。
ToSingle(intBuffer, 0);}}/// /// 用指针方式强制将byte数组转为浮点数/// /// /// public static float BytetoFloatByPoint(byte[] bResponse){//uint nRest = ((uint)response[startByte]) * 256 ((uint)response[startByte 1]) 65536 * ((uint)response[startByte 2]) * 256 ((uint)response[startByte 3]);float fValue = 0f;uint nRest = ((uint)bResponse[0]) * 256 ((uint)bResponse[1]) 65536 * (((uint)bResponse[2]) * 256 ((uint)bResponse[3]));//用指针将整形强制转换成floatunsafe{float* ptemp;ptemp = (float*)(&nRest);fValue = *ptemp;}return fValue;}。
收起