This documentation is archived and is not being maintained.
BitConverter::ToSingle Method
Visual Studio 2010
Returns a single-precision floating point number converted from four bytes at a specified position in a byte array.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- value
- Type: array<System::Byte>
An array of bytes.
- startIndex
- Type: System::Int32
The starting position within value.
Return Value
Type: System::SingleA single-precision floating point number formed by four bytes beginning at startIndex.
| Exception | Condition |
|---|---|
| ArgumentException | startIndex is greater than or equal to the length of value minus 3, and is less than or equal to the length of value minus 1. |
| ArgumentNullException | value is nullptr. |
| ArgumentOutOfRangeException | startIndex is less than zero or greater than the length of value minus 1. |
The following code example converts elements of Byte arrays to Single values with the ToSingle method.
// Example of the BitConverter::ToSingle method. using namespace System; // Convert four byte array elements to a float and display it. void BAToSingle( array<unsigned char>^bytes, int index ) { float value = BitConverter::ToSingle( bytes, index ); Console::WriteLine( "{0,5}{1,17}{2,18:E7}", index, BitConverter::ToString( bytes, index, 4 ), value ); } // Display a byte array, using multiple lines if necessary. void WriteMultiLineByteArray( array<unsigned char>^bytes ) { const int rowSize = 20; int iter; Console::WriteLine( "initial unsigned char array" ); Console::WriteLine( "---------------------------" ); for ( iter = 0; iter < bytes->Length - rowSize; iter += rowSize ) { Console::Write( BitConverter::ToString( bytes, iter, rowSize ) ); Console::WriteLine( "-" ); } Console::WriteLine( BitConverter::ToString( bytes, iter ) ); Console::WriteLine(); } int main() { array<unsigned char>^byteArray = {0,0,0,0,128,63,0,0,112,65,0,255,127,71,0,0,128,59,0,0,128,47,73,70,131,5,75,6,158,63,77,6,158,63,80,6,158,63,30,55,190,121,255,255,127,255,255,127,127,1,0,0,0,192,255,0,0,128,255,0,0,128,127}; Console::WriteLine( "This example of the BitConverter::ToSingle( unsigned " "char[ ], int ) \nmethod generates the following output. It " "converts elements of a \nbyte array to float values.\n" ); WriteMultiLineByteArray( byteArray ); Console::WriteLine( "{0,5}{1,17}{2,18:E7}", "index", "array elements", "float" ); Console::WriteLine( "{0,5}{1,17}{2,18:E7}", "-----", "--------------", "-----" ); // Convert byte array elements to float values. BAToSingle( byteArray, 0 ); BAToSingle( byteArray, 2 ); BAToSingle( byteArray, 6 ); BAToSingle( byteArray, 10 ); BAToSingle( byteArray, 14 ); BAToSingle( byteArray, 18 ); BAToSingle( byteArray, 22 ); BAToSingle( byteArray, 26 ); BAToSingle( byteArray, 30 ); BAToSingle( byteArray, 34 ); BAToSingle( byteArray, 38 ); BAToSingle( byteArray, 42 ); BAToSingle( byteArray, 45 ); BAToSingle( byteArray, 49 ); BAToSingle( byteArray, 51 ); BAToSingle( byteArray, 55 ); BAToSingle( byteArray, 59 ); } /* This example of the BitConverter::ToSingle( unsigned char[ ], int ) method generates the following output. It converts elements of a byte array to float values. initial unsigned char array --------------------------- 00-00-00-00-80-3F-00-00-70-41-00-FF-7F-47-00-00-80-3B-00-00- 80-2F-49-46-83-05-4B-06-9E-3F-4D-06-9E-3F-50-06-9E-3F-1E-37- BE-79-FF-FF-7F-FF-FF-7F-7F-01-00-00-00-C0-FF-00-00-80-FF-00- 00-80-7F index array elements float ----- -------------- ----- 0 00-00-00-00 0.0000000E+000 2 00-00-80-3F 1.0000000E+000 6 00-00-70-41 1.5000000E+001 10 00-FF-7F-47 6.5535000E+004 14 00-00-80-3B 3.9062500E-003 18 00-00-80-2F 2.3283064E-010 22 49-46-83-05 1.2345000E-035 26 4B-06-9E-3F 1.2345671E+000 30 4D-06-9E-3F 1.2345673E+000 34 50-06-9E-3F 1.2345676E+000 38 1E-37-BE-79 1.2345679E+035 42 FF-FF-7F-FF -3.4028235E+038 45 FF-FF-7F-7F 3.4028235E+038 49 01-00-00-00 1.4012985E-045 51 00-00-C0-FF NaN 55 00-00-80-FF -Infinity 59 00-00-80-7F Infinity */
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Show: