BitConverter::GetBytes Method (Double)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Returns the specified double-precision floating point value as an array of bytes.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

static array<unsigned char>^ GetBytes(
	double value


Type: System::Double

The number to convert.

Return Value

Type: array<System::Byte>^

An array of bytes with length 8.

The order of bytes in the array returned by the GetBytes method depends on whether the computer architecture is little-endian or big-endian.

The following code example converts the bit patterns of Double values to Byte arrays with the GetBytes method.

// Example of the BitConverter::GetBytes( double ) method.
using namespace System;

// Convert a double argument to a byte array and display it.
void GetBytesDouble( double argument )
   array<Byte>^byteArray = BitConverter::GetBytes( argument );
   Console::WriteLine( "{0,25:E16}{1,30}", argument, BitConverter::ToString( byteArray ) );

int main()
   Console::WriteLine( "This example of the BitConverter::GetBytes( double ) "
   "\nmethod generates the following output.\n" );
   Console::WriteLine( "{0,25:E16}{1,30}", "double", "byte array" );
   Console::WriteLine( "{0,25:E16}{1,30}", "------", "----------" );

   // Convert double values and display the results.
   GetBytesDouble( 0.0 );
   GetBytesDouble( 1.0 );
   GetBytesDouble( 255.0 );
   GetBytesDouble( 4294967295.0 );
   GetBytesDouble( 0.00390625 );
   GetBytesDouble( 0.00000000023283064365386962890625 );
   GetBytesDouble( 1.23456789012345E-300 );
   GetBytesDouble( 1.2345678901234565 );
   GetBytesDouble( 1.2345678901234567 );
   GetBytesDouble( 1.2345678901234569 );
   GetBytesDouble( 1.23456789012345678E+300 );
   GetBytesDouble( Double::MinValue );
   GetBytesDouble( Double::MaxValue );
   GetBytesDouble( Double::Epsilon );
   GetBytesDouble( Double::NaN );
   GetBytesDouble( Double::NegativeInfinity );
   GetBytesDouble( Double::PositiveInfinity );

This example of the BitConverter::GetBytes( double )
method generates the following output.

                   double                    byte array
                   ------                    ----------
  0.0000000000000000E+000       00-00-00-00-00-00-00-00
  1.0000000000000000E+000       00-00-00-00-00-00-F0-3F
  2.5500000000000000E+002       00-00-00-00-00-E0-6F-40
  4.2949672950000000E+009       00-00-E0-FF-FF-FF-EF-41
  3.9062500000000000E-003       00-00-00-00-00-00-70-3F
  2.3283064365386963E-010       00-00-00-00-00-00-F0-3D
  1.2345678901234500E-300       DF-88-1E-1C-FE-74-AA-01
  1.2345678901234565E+000       FA-59-8C-42-CA-C0-F3-3F
  1.2345678901234567E+000       FB-59-8C-42-CA-C0-F3-3F
  1.2345678901234569E+000       FC-59-8C-42-CA-C0-F3-3F
  1.2345678901234569E+300       52-D3-BB-BC-E8-7E-3D-7E
 -1.7976931348623157E+308       FF-FF-FF-FF-FF-FF-EF-FF
  1.7976931348623157E+308       FF-FF-FF-FF-FF-FF-EF-7F
  4.9406564584124654E-324       01-00-00-00-00-00-00-00
                      NaN       00-00-00-00-00-00-F8-FF
                -Infinity       00-00-00-00-00-00-F0-FF
                 Infinity       00-00-00-00-00-00-F0-7F

Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top