public void BytesToFloatTransferTest( ) { byte[] data = new byte[8]; ReverseBytesByWord(BitConverter.GetBytes(123.456f), byteTransform.DataFormat).CopyTo(data, 0); ReverseBytesByWord(BitConverter.GetBytes(-0.001234f), byteTransform.DataFormat).CopyTo(data, 4); float[] array = byteTransform.TransSingle(data, 0, 2); Assert.AreEqual <float>(123.456f, array[0]); Assert.AreEqual <float>(-0.001234f, array[1]); }
/// <summary> /// 读取指定地址的float数组 /// </summary> /// <param name="address">起始地址,格式为"1234"</param> /// <param name="length">数组长度</param> /// <returns>带有成功标志的float数据</returns> public OperateResult <float[]> ReadFloat(string address, ushort length) { OperateResult <byte[]> read = Read(address, (ushort)(length * 2)); if (!read.IsSuccess) { return(OperateResult.CreateFailedResult <float[]>(read)); } return(OperateResult.CreateSuccessResult(byteTransform.TransSingle(read.Content, 0, length))); }